c语言水仙花数问题1
时间: 2024-10-12 10:15:17 浏览: 32
C语言案例-水仙花数.zip
在C语言中,水仙花数(又称 narcissistic number 或 pluperfect digital invariant)是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
要解决这个问题,你可以编写一个函数,遍历从100到999的所有整数,检查每个数是否满足水仙花数的条件。下面是一个简单的示例代码:
```c
#include <stdio.h>
int is_narcissistic(int num) {
int digits[3];
int sum = 0;
// 分离出每一位数字
while (num > 0) {
digits[0] = num % 10; // 最低位
sum += digits[0]*digits[0]*digits[0]; // 累加立方和
num /= 10;
}
// 如果剩余的sum等于原始数,就是水仙花数
return sum == num;
}
int main() {
for (int i = 100; i <= 999; i++) {
if (is_narcissistic(i)) {
printf("%d 是一个水仙花数。\n", i);
}
}
return 0;
}
```
阅读全文