如果一个十进制的正整数能够被7整除,或者某个位置的数字是7,则称该正整数为与7相关的数。用C++写一个程序求小于n(n<100的所有与7无关的正整数的平方和。
时间: 2024-09-22 18:09:44 浏览: 44
要编写一个C++程序来计算小于给定数值n(n<100)的所有非与7相关的正整数的平方和,我们可以按照以下步骤进行:
1. 首先,遍历从1到n的所有整数。
2. 对于每个数i,检查它是否与7有关。我们可以通过两种方式判断:一是检查它是否能被7整除,二是检查它的每一位数字是否为7。
3. 如果i不是与7相关的,就将其加入到平方和的累加器中。
下面是相应的C++代码:
```cpp
#include <iostream>
int isRelatedTo7(int num) {
// 检查是否能被7整除
if (num % 7 == 0)
return true;
// 将数字转换为字符串并逐位检查
std::string str = std::to_string(num);
for (char c : str) {
if (c == '7')
return true;
}
return false;
}
int squareSumBelowN(int n) {
int sum = 0;
for (int i = 1; i < n; ++i) {
if (!isRelatedTo7(i))
sum += i * i;
}
return sum;
}
int main() {
int n;
std::cout << "Enter a value for n (less than 100): ";
std::cin >> n;
if (n >= 100) {
std::cerr << "Invalid input, n should be less than 100." << std::endl;
return 0;
}
int result = squareSumBelowN(n);
std::cout << "The sum of squares of numbers less than " << n << " that are not related to 7 is: " << result << std::endl;
return 0;
}
```
当你运行这个程序时,它会提示用户输入一个小于100的值n,然后计算符合条件的平方和并输出结果。
阅读全文