1.需求
2.分析
水仙花数是个位三次方,加上十位三次方,在加上百位三次方。
定义一个i,使用for循环将i附上100,i在小于1000
产生100到999的数
i%10求得个位数
i/10%10求得十位
i/100求出百位
使用pow()求得三次方。
3.代码实现
int main()
{
int i = 0;
int tmp = 0;
for (i = 100; i < 1000; i++) {
int sum = 0;
tmp = i;
while (tmp) {
sum += pow((tmp % 10), 3);
tmp = tmp / 10;
}
if (sum == i) {
printf("%d ", i);
}
}
return 0;
}