水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。 (例如:1^3 + 5^3 + 3^3 = 153)
所以我们要求水仙花数必须求出每个数的百位,十位,个位的大小
代码如下
#include <stdio.h>
int main()
{
int a, b, c, d;
for (a = 100; a <= 999; a++)
{
b = a / 100; //求a的百位
c = a % 100 / 10; //求a的十位
d = a % 100 % 10; //求a的个位i
if (b * b * b + c * c * c + d * d * d == a)
{
printf("%d为水仙花数\n",a);
}
}
return 0;
}