题解
2026-05-26 18:52:53
发布于:湖南
5阅读
0回复
0点赞
题意
输入一个数字 ,统计 中需要跳过的数字个数,满足任一条件就跳过:
个位数字是 7
各位数字之和是 7 的倍数
题意
核心方法:遍历 + 函数判断
1.写一个判断函数 f (x)
计算数字 x 的各位数字之和
如果和是 7 的倍数,返回 true(需要跳过)
2.主程序循环
对每个数字 i 判断两个条件:
个位是 7(i%10 ==7)
各位和是 7 的倍数(f(i))
满足任一条件,计数 +1
3.输出总数
最后输出统计好的跳过数字总数。
完整代码
#include <bits/stdc++.h>
using namespace std;
bool f(int x) {
int sum = 0;
while (x != 0) {
sum += x % 10;
x /= 10;
}
if (sum % 7 == 0) return 1;
return 0;
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0), cout.tie(0);
int n;
cin >> n;
int sum = 0;
for (int i = 1; i <= n; i++) {
if (f(i) || i % 10 == 7) sum ++;
}
cout << sum << '\n';
return 0;
}

这里空空如也








有帮助,赞一个