C语言编写程序,求出所有独特平方数。3025这个数具有一种独特的性质:将它平分为两段,即30和25,使之相加后求平方,即(30+25)²=55²=3025,恰好为本身。请求出具有这样性质的全部四位数
时间: 2024-10-25 19:15:19 浏览: 20
两个数相加c语言
在C语言中,要找出所有四位数的独特平方数,我们可以通过遍历从1000到9999之间的整数,检查它们是否满足条件:当数字可以分成两个平方数之和时,就找到了一个独特平方数。我们可以设计一个函数来验证这个特性:
```c
#include <stdio.h>
#include <math.h>
// 判断是否为独特平方数
int is_unique_square(int num) {
int left = sqrt(num);
if (left * left != num) return 0;
// 检查num能否表示为两个平方数之和
for (int i = 1; i <= left / 2; ++i) {
int right = num - i * i;
if (right > 0 && sqrt(right) * sqrt(right) == right) return 0;
}
return 1;
}
// 主函数
int main() {
for (int i = 1000; i <= 9999; ++i) {
if (is_unique_square(i)) {
printf("%d ", i); // 输出找到的独特平方数
}
}
return 0;
}
```
当你运行这个程序,它会打印出所有满足条件的四位独特平方数。
阅读全文