100000以内的水仙花C语言
时间: 2024-06-21 10:02:21 浏览: 170
C语言 实现1000以内的水仙花数的程序
5星 · 资源好评率100%
水仙花数(Narcissistic Number)是指一个三位数(或更多位数),其各位数字的立方和等于该数本身。在C语言中,我们可以编写一个程序来检查100000以内的所有整数是否为水仙花数。以下是一个简单的C程序示例:
```c
#include <stdio.h>
// 函数声明,计算给定数的各个位数立方和
int cube_sum(int num);
int main() {
int i, limit = 100000;
for (i = 100; i <= limit; i++) { // 只检查三位数
if (cube_sum(i) == i) {
printf("%d is a Narcissistic number.\n", i);
}
}
return 0;
}
// 函数实现,计算立方和
int cube_sum(int num) {
int sum = 0, temp;
temp = num;
while (temp != 0) {
int digit = temp % 10;
sum += cube_sum(digit); // 递归求各位立方
temp /= 10;
}
return sum;
}
```
这个程序首先定义了一个`cube_sum`函数,用于计算输入数字的各个位的立方和。在`main`函数中,它遍历100到100000之间的每个数,如果`cube_sum`返回的结果等于原数,那么该数就是水仙花数。
如果你想了解更多关于水仙花数的内容,可以问:
1. 水仙花数有什么实际应用场景?
2. 这种算法如何扩展到四位数甚至更高位数?
3. 有没有更高效的算法可以找出所有的水仙花数?
阅读全文