输出所有的"水仙花数"(水仙花数指一个三位数,其各位数字立方和等于该数本身。例如153是水仙花数,因为1^3+5^3+3^3=153)
这个程序找出所有的三位水仙花数,并输出它们。
(如果每各数字立方和等于原数字,则该数字是水仙花数。)
cpp
#include <stdio.h>
int main() {
int num, sum, digit;
printf("所有的水仙花数:\n");
for (int i = 100; i < 1000; i++) {
int temp = i;
sum = 0;
// 计算每个数字的立方和
while (temp > 0) {
digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if (sum == i) {
printf("%d\n", i);
}
}
return 0;
}
代码说明:
- 遍历所有三位数(100 到 999)。
- 对每个数字,计算其各位数字的立方和。
- 如果立方和等于原数字,则该数字是水仙花数。