1 条题解
-
0
#include<bits/stdc++.h> using namespace std; // [1] 存储输入的上限N int N; // [2] 累加所有幻数的和(符合命名规范:累加用sum) int sum = 0; int main() { cin >> N; // [3] 输入上限N // [4] 遍历1到N的所有整数 for(int i = 1; i <= N; i++) { int num = i; // [5] 取出当前数,用于逐位拆分 int flag = 0; // [6] 标记当前数是否包含数字7(0=不包含,1=包含) // [7] 逐位分解当前数,检查是否包含7 while(num) { if(num % 10 == 7) { // [8] 检查当前数的最后一位是否为7 flag = 1; // [9] 标记为包含7,跳出循环 break; } num /= 10; // [10] 去掉当前数的最后一位,继续检查下一位 } // [11] 判断是否为幻数:能被7整除 或 包含数字7 if(i % 7 == 0 || flag) { sum += i; // [12] 符合条件则累加到总和 } } cout << sum; // [13] 输出所有幻数的和 return 0; }
- 1
信息
- ID
- 1254
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 1
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者