水仙花概念:水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153
题目:求0-100000之间的水仙花数
int main()
{
//
int i = 0;
for (i = 0;i<=100000;i++)
{
//判断i是否会自幂数
//1.计算i的位数 - n
int n = 1;
int tmp = i;
while (tmp / 10)
{
n++;
tmp = tmp /10;
}
//计算i的每一位的n次方之和
tmp = i;
int sum = 0;
while (tmp)
{
//pow是用来求次方数
sum += pow(tmp % 10,n);
tmp = tmp /10;
}
//3.判断
if (sum == i)
{
printf("%d ",i);
}
}
return 0;
}