一个正整数,如果它能被7整除,或者它的十进制表示法中某个位数上的数字为7,则称其为与7相关的数.现求所有小于等于n(n<100)的与7无关的正整数的平方和.c语言
时间: 2024-11-20 20:34:27 浏览: 8
要解决这个问题,我们需要遍历所有小于等于`n`的正整数,判断它们是否与7有关,并排除那些符合条件的数。对于每个数,我们可以检查它是否能被7整除,或者看它的各位数字是否包含7。如果不符合条件,就将其平方加入到结果总和中。
以下是用C语言编写的一个简单示例:
```c
#include <stdio.h>
int isRelatedTo7(int num) {
// 检查是否能被7整除
if (num % 7 == 0)
return 1; // 如果能被7整除,则返回1,表示相关
// 遍历每一位
int strNum[10];
sprintf(strNum, "%d", num);
for (int i = 0; strNum[i] != '\0'; i++) {
// 如果找到数字7,则返回1
if (strNum[i] == '7')
return 1;
}
return 0; // 如果没找到7,则返回0,表示无关
}
long long sumOfUnrelatedSquares(int n) {
long long totalSum = 0;
for (int i = 1; i <= n; i++) {
if (!isRelatedTo7(i)) { // 只对无关的数取平方并累加
totalSum += i * i;
}
}
return totalSum;
}
int main() {
int n;
printf("请输入一个小于100的整数: ");
scanf("%d", &n);
long long result = sumOfUnrelatedSquares(n);
printf("所有小于等于%d且与7无关的正整数的平方和为: %lld\n", n, result);
return 0;
}
```
当你运行这个程序并输入一个小于100的整数`n`,它将计算并打印出所有与7无关的正整数的平方和。
阅读全文