水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI),
自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),
水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。
例如:1^3 + 5^3+ 3^3 = 153。
#include <math.h>
int main()
{
int i = 0;
for (i = 0; i <= 100000; i++)
{
//1.判断位数
int n = 1;
int tmp = i;
while (tmp / 10)
{
n++;
tmp = tmp / 10;
}
//2.算出每个位的平方
tmp = i;
int sum = 0;
while (tmp)
{
sum += pow(tmp % 10, n);
tmp = tmp / 10;
}
//3.判断
if (sum == i)
{
printf("%d ", i);
}
}
return 0;
}