题目描述
如果一个正整数等于其各个数字的立方和,则称该数为阿姆斯特朗数(亦称为自恋性数)。
如 407=43+03+73就是一个阿姆斯特朗数。试编程求大于1小于1000的所有阿姆斯特朗数。
输出
从小到大输出,数之间用两个空格分开
样例输出
153 370 371 407
提示
可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,据阿姆斯特朗数的性质进行计算和判断。
#include <stdio.h>
int isFlower(int n) {
int a = n / 100, b = n / 10 % 10, c = n % 10;
return a * a * a + b * b * b + c * c * c == n;
}
int main() {
int n;
for (n = 100; n <= 999; n++)
if (isFlower(n)) printf("%d ", n);
return 0;
}