题目 poj 2701 与7无关的数
总时间限制: 1000ms 内存限制: 65536kB
描述
一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n < 100)的与7无关的正整数的平方和.
输入
输入为一行,正整数n(n < 100)
输出
输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。
样例输入
21
样例输出
2336
解题思路
这是一道水题,由题意可得只需筛选出100以下与七有关的数即可,
- 七的倍数:i % 7 == 0
- 个位为七:i % 10 == 7
- 十位为七:i / 10 == 7
筛选出这些数字后,直接从1遍历到n时使用continue跳过即可。
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
while(scanf("%d", &n) != EOF)
{
int num = 0;
for(int i = 1; i <= n; i++)
{
if( i%7 == 0 || i%10 == 7 || i == 70)
continue;
num += i*i;
}
printf("%d\n", num);
}
}