#include <stdio.h> /*开头*/
int ask (int n) { /*根据题目要求,需要自定义能检测出含7的数字和7的倍数的函数*/
int c, e; /*这里我们定义ask函数,能检测出输入的数字是否为含7的数字*/
c = n;
while (c > 0) {/*方法是提取输入数字的各位数看是否为7,然后return不同的结果,便于后面采用*/
e = c % 10;
c = c / 10;
if (e == 7)
return 1;
}
return 0;
}
int askt(int n) {/*这里我们定义askt函数,判定是否为7的倍数*/
if (n % 7 == 0)/*方法是直接用%,然后return不同的结果,便于后面采用*/
return 1;
else
return 0;
}
int main() {
int n, a, b = 0, c = 0, d = 0, e = 0, f;
scanf("%d", &n);/*开始工作,定义几个int型来储存甲乙丙丁跳过的次数*/
for (a = 1; a <= n; a++) {
if (ask(a) || askt(a)) {/*判断当数字存在7或为7的倍数任意一个满足时,执行以下命令*/
f = a % 4;/*用余数判定甲乙丙丁哪个跳过了*/
if (f == 1)
b = b + 1;
if (f == 2)
c = c + 1;
if (f == 3)
d = d + 1;
if (f == 0)
e = e + 1;
n = n + 1;
}
}
printf("%d\n%d\n%d\n%d\n", b, c, d, e);/*甲乙丙丁打印出来甲乙丙丁跳过的次数*/
}
希望能对浏览的朋友有一点帮助,谢谢