一个正整数,如果它能被7整除,或者它的十进制表示法中某个位数上的数字为7,则称其为与7相关的数.现求所有小于等于n(n<100)的与7无关的正整数的平方和. 输入 输入为一行,正整数n,(n<100) 输出 输出小于等于n的与7无关的正整数的平方和.
时间: 2024-11-15 09:21:21 浏览: 13
null必修3算法习题程序清单汇编 二分法 回文数判断 数字分离技术 十进制和其他进制转化 因数输出 质数判断 a+a.doc
要解决这个问题,我们首先需要遍历从1到n(包括n)的所有正整数,检查它们是否与7相关。对于每个数,我们可以使用模运算 `%` 来检查是否能被7整除,同时检查其十进制表示中是否有7。
接下来,我们将创建一个计数器来跟踪与7无关的数,也就是不满足上述两个条件的数。当找到这样的数时,将其添加到总和中。
下面是解决这个问题的C++代码:
```cpp
#include <iostream>
using namespace std;
bool isRelated(int num) {
if (num % 7 == 0 || ('7' <= num / 10 && num % 10 == 7)) {
return true;
}
return false;
}
int sumOfSquares(int n) {
int sum = 0;
for (int i = 1; i <= n; ++i) {
if (!isRelated(i)) {
sum += i * i;
}
}
return sum;
}
int main() {
int n;
cout << "Enter a number less than 100: ";
cin >> n;
int result = sumOfSquares(n);
cout << "The sum of squares of numbers less than or equal to " << n << " and not related to 7 is: " << result << endl;
return 0;
}
```
阅读全文