2106_D:特殊求和
分类:
C语言(一级)真题
时间限制: 1000ms
内存限制: 1000MB
如果一个数能够被 7 整除或者十进制表示中含有数字 7 ,那么我们称这个数为幻数,比如 17,21,73 是幻数,而 6,59 不是。
输入:
一个整数 N (1 <= N <= 10000) 。
输出:
一个整数,表示 1 - N 中所有幻数的和。
样例输入:
14
样例输出:
21
2106_D:特殊求和
分类:
C语言(一级)真题
时间限制: 1000ms
内存限制: 1000MB
如果一个数能够被 7 整除或者十进制表示中含有数字 7 ,那么我们称这个数为幻数,比如 17,21,73 是幻数,而 6,59 不是。
输入:
一个整数 N (1 <= N <= 10000) 。
输出:
一个整数,表示 1 - N 中所有幻数的和。
样例输入:
14
样例输出:
21
#include <iostream>
using namespace std;
bool isMagic(int n) {
if (n % 7 == 0) {
return true;
}
while (n) {
if (n % 10 == 7) {
return true;
}
n /= 10;
}
return false;
}
int main() {
int n, sum = 0;
cin >> n;
for (int i = 1; i <= n; i++) {
if (isMagic(i)) {
sum += i;
}
}
cout << sum << endl;
return 0;
}