ccf练习题——报数(java实现)
源码:
// package ······ 注明属于哪一个包下的
import java.util.*;
// 报数
class Baoshu {
public static boolean judge(int i) {
if(i % 7 == 0) return true; // 判读数是否为7的倍数
else {
while(i != 0) { // 判断数是否含有7
int n;
n = i % 10;
if(n == 7) return true;
i = i/10;
}
return false;
}
}
public static void main(String[] args) {
int data[] = new int[4]; // 用来记录 甲乙丙丁 跳过次数
Scanner input = new Scanner(System.in);
int num = input.nextInt(); // 存储计数的最大值
for(int i = 1; i <= num; i++) {
if(judge(i)) {
data[(i - 1) % 4] += 1; // 加1 是因为 i从0 开始计数
num++; // 每当跳过一个数时,根据题目是不计数
} // 相当于界限num 加1
}
for(int i = 0; i < 4; i++) {
System.out.println(data[i]);
}
}
}