水仙花数是指一个3 位数,它的每个位上的数字的立方和等于它本身,例如:153=13+53+33。 应用枚举法编写一个 C 语言程序,输出所有的水仙花数。
时间: 2024-11-13 11:28:32 浏览: 20
为了找出所有的水仙花数,我们可以创建一个C语言程序,通过循环遍历所有三位数,对每一位进行立方运算,然后检查这个和是否等于原数。下面是实现这一功能的一个简单示例程序:
```c
#include <stdio.h>
// 函数声明
void findWaterLilyNumbers(int start, int end);
int main() {
int low = 100; // 开始查找的最小三位数
int high = 999; // 结束查找的最大三位数
// 调用函数,找到所有的水仙花数
findWaterLilyNumbers(low, high);
return 0;
}
// 枚举法寻找水仙花数
void findWaterLilyNumbers(int start, int end) {
for (int num = start; num <= end; num++) {
int hundreds = num / 100; // 百位数
int tens = (num % 100) / 10; // 十位数
int units = num % 10; // 个位数
int sumOfCubes = hundreds * hundreds * hundreds +
tens * tens * tens +
units * units * units;
// 检查是否为水仙花数
if (sumOfCubes == num) {
printf("%d is a Water Lily number.\n", num);
}
}
}
```
当你运行这个程序,它会在100到999范围内查找所有满足条件的水仙花数,并打印出来。如果存在这样的数,它们会被逐个显示。注意,由于范围较大,这个程序可能会花费一些时间来完成搜索。
阅读全文