枚举问题(与7无关的数为例)
枚举问题,这类问题并不复杂,对于题目本身只需要通过循环去遍历,列举出所有可能满足条件的情况,一个一个罗列出来,称为枚举问题,例如下面的题目:与7无关的数。
这就是一类枚举问题,将所有可能满足“与7无关的数”罗列出来,并将所有可能计算出平方和,最后输出。
对于样例输入:21,其中可能的情况分别为:
将所有可能情况求平方和,并输出结果:
Result = 2336
以下是气体君的C++代码以及对应测试的OJ网站链接:
//与7无关的数
#include<cstdio>
bool About7(int num) {
if (num % 7 == 0 or
num % 10 == 7 or
(num / 10) % 10 == 7 or
num / 100 == 7) {
return true;
} else {
return false;
}
}
int main() {
int n;
while (scanf("%d", &n) != EOF) {
int sum = 0;
for (int i = 0; i <= n; i ++) {
if(About7(i) == false){
// printf("%d\n", i);
sum = sum+i*i;
}
}
printf("%d\n", sum);
}
}
OJ:http://t.cn/E9lOOZQ
最后,相信自己,勤加练习,以小白的兴趣去保存对算法的热爱!
参考内容:
牛客网