题目描述
输出7有关数字的个数,包括7的倍数,还有包含7的数字(如17,27,37…70,71,72,73…)的个数
输入描述:
一个正整数N。(N不大于30000)输出描述:
不大于N的与7有关的数字个数,例如输入20,与7有关的数字包括7,14,17.
示例1
输入
20
输出
3
实现代码:
- 方法一:
package cn.c_shuang.demo52;
import java.util.Scanner;
/**
* (练习用)挑7
* @author Cshuang
* */
public class Main{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
while(in.hasNext()){
int n=in.nextInt();
int cnt=0;
for (int i = 7; i <=n;i++) {
if(i%7==0){
cnt++;
}else if(String.valueOf(i).contains("7")){
cnt++;
}
}
System.out.println(cnt);
}
in.close();
}
}
- 方法二:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int N = sc.nextInt();
int cur = 0;
for(int i = 1;i <= N;i++){
if(i % 7 == 0){
cur++;
continue;
}
int j = i;
//找出含有7的部分
while(j != 0){
int temp = j % 10;
if(temp == 7){
cur++;
break;
}
j = j / 10;
}
}
System.out.println(cur);
}
}
}