华为OJ——(练习用)挑7
2016-08-15 11:04
274 查看
题目描述
输出7有关数字的个数,包括7的倍数,还有包含7的数字(如17,27,37...70,71,72,73...)的个数输入描述:
一个正整数N。(N不大于30000)
输出描述:
不大于N的与7有关的数字个数,例如输入20,与7有关的数字包括7,14,17.
输入例子:
20
输出例子:
3
两种思路:
1、依次遍历要检测数的每个位上的数字,如果包含7就符合要求
2、把要检测的数变成字符串,如果包含7的话就符合要求
方法一:
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
while(scan.hasNext()){
int N=scan.nextInt();
int count=0;
for(int i=1;i<=N;i++){
int muber=i;
if(muber%7==0){//7的倍数符合要求
count++;
}
else{
//依次遍历要检测数的每个数字,如果包含7就符合要求
while(muber>0){
if(muber%10==7){
count++;
muber/=10;
break; //这里一定要加break,一个数字,一旦有一个7,立马退出循环,查下个数
}
else
muber/=10;
}
}
}
System.out.println(count);
}
}
}方法二:
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
while(scan.hasNext()){
Integer N=scan.nextInt();
int count=0;
for(Integer i=1;i<=N;i++){
if(i%7==0) //7的整数倍自然是对的
count++;
//把要检测的数变成字符串,如果包含7的话也符合要求
else if(i.toString().contains("7"))
count++;
}
System.out.println(count);
}
}
}
相关文章推荐
- 华为OJ——(练习用)挑7
- 【华为 OJ 】(练习用)挑7
- 华为OJ:(练习用)挑7
- 华为OJ——(练习用)挑7
- 华为oj_(练习用)挑7
- 华为OJ平台题目:(练习用)挑7
- 华为练习2 查找兄弟单词
- 华为OJ平台——字符串通配符
- 华为OJ 最高分是多少
- 华为OJ平台——计算字符串的相似度
- 华为oj之过河卒
- 华为OJ-----最后一个单词长度
- 华为OJ平台——字符串匹配
- [华为OJ--C++]038-iNOC产品部-杨辉三角的变形
- 华为oj 学英语
- 图片整理(华为Oj)
- 华为OJ:计算字符个数
- 华为OJ——[中级]单词倒排
- 华为oj 找出字符串中第一个只出现一次的字符
- [华为OJ--C++]011-数字颠倒