输出所有的“水仙花数”(水仙花数指一个三位数,其各位数字立方和等于该数本身。例如153是水仙花数,因为1^3+5^3+3^3=153)
这个程序找出所有的三位水仙花数,并输出它们。
(如果每各数字立方和等于原数字,则该数字是水仙花数。)
#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)。
- 对每个数字,计算其各位数字的立方和。
- 如果立方和等于原数字,则该数字是水仙花数。