一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n < 100)的与7无关的正整数的平方和.
时间限制:1000
内存限制:65536
输入
输入为一行,正整数n(n < 100)
输出
输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。
样例输入
21
样例输出
2336
#include <iostream>
using namespace std;
bool has_7(int x) {
while (x) {
if (x % 10 == 7) return true;
x /= 10;
}
return false;
}
int main() {
int n, sum = 0;
cin >> n;
for (int i = 0; i < n; i++) {
if (i % 7 == 0 || has_7(i)) continue;
sum += i * i;
}
cout << sum << endl;
return 0;
}
逻辑部分不懂可以在下方评论:(助力解答)
#include <iostream>
using namespace std;
int main() {
int number; //定义一个整数变量,用于存放输入数
int sum = 0; //和7无关的平方和
printf("Please enter a number and not greater than 100:");
cin>>number; //输入一个数
for(int i = 0; i<=number; i++)
{
if(i%10 == 7 || i%7 == 0 || i/10 == 7) //逻辑判断部分被7整除
{
continue;
}
sum = sum + number*number;
}
cout<<"Output value:"<<sum<<endl; //输出的值
return 0;
}
```