一个单位的十进制整数,如果它的三个数位的数字立方和等于这个数的数值则称它为一个水仙数编写C语言计算出某一范围内,所有的水仙数范围是零到10,000
时间: 2024-10-10 22:09:13 浏览: 45
在C语言中,我们可以编写一个函数来寻找给定范围内的所有水仙数。水仙数是指一个三位数,其各位数字立方之和等于该数本身。下面是一个简单的C程序实现:
```c
#include <stdio.h>
#include <stdbool.h>
// 函数用于检查是否为水仙数
bool isApollonian(int num) {
int digits[3]; // 保存百位、十位、个位数字
int sum_of_cubes = 0;
// 提取每一位数字并求立方和
while (num > 0) {
digits[2] = num % 10;
sum_of_cubes += digits[2] * digits[2] * digits[2];
num /= 10;
}
// 检查立方和是否等于原数
return sum_of_cubes == num;
}
// 主函数遍历范围并打印水仙数
int main() {
int start = 0, end = 10000;
for (int i = start; i <= end; ++i) {
if (isApollonian(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
当你运行此程序,它会输出从0到10,000之间的所有水仙数。注意,因为水仙数只有三位,所以实际范围内最多有9个水仙数。
阅读全文