用C语言找出三位水仙数字
时间: 2024-10-14 07:15:01 浏览: 73
在C语言中,水仙花数是指一个三位数,其各位数字立方和等于原数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
下面是一个简单的程序来找出所有的三位水仙花数:
```c
#include <stdio.h>
int is_cube_sum(int num) {
int百位 = num / 100;
int十位 = (num % 100) / 10;
int个位 = num % 10;
int sum_of_cubes = 百位 * 百位 * 百位 + 十位 * 十位 * 十位 + 个位 * 个位 * 个位;
if (sum_of_cubes == num)
return 1; // 如果相等则返回1表示是水仙花数
else
return 0; // 否则返回0表示不是水仙花数
}
void find_pythagorean_triples() {
for (int i = 100; i <= 999; i++) { // 遍历三位数范围
if (is_cube_sum(i))
printf("%d ", i); // 打印找到的水仙花数
}
}
int main() {
find_pythagorean_triples();
return 0;
}
```
当你运行这个程序,它会打印出所有的三位水仙花数。注意,由于这是一个线性查找,对于大的整数范围可能会有些慢。如果你需要处理更大范围或其他优化,可以考虑其他算法如二分查找。
阅读全文