如何使用C语言编程来找出并列举所有的三位数水仙数?
时间: 2024-10-26 16:02:56 浏览: 31
水仙花数(Narcissistic number)也称为自恋数或阿姆斯特朗数,是指一个n位正整数等于其各个位上数字的n次方之和。例如,153是个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
在C语言中,我们可以编写一个循环来遍历所有可能的三位数,然后对每个数计算它的各位数字立方和,如果相等则输出这个数。下面是简单的代码实现:
```c
#include <stdio.h>
// 函数用来检查一个数是否是水仙花数
int isArmstrong(int num) {
int original, remainder, sum = 0;
original = num;
// 把数字转换为字符串便于处理每一位
char str[10];
itoa(num, str, 10);
// 计算每一位的立方和
for (char *i = str; i != str + 3; ++i) {
remainder = atoi(i);
sum += remainder * remainder * remainder;
}
return sum == original;
}
int main() {
for (int num = 100; num <= 999; num++) { // 遍历三位数范围
if (isArmstrong(num)) {
printf("%d is a Narcissistic number.\n", num);
}
}
return 0;
}
```
阅读全文