#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
//输出0-100000内的自幂数(水仙花数)
int i = 0;
for (i = 0; i < 1000000; i++)
{
//判断i是否为自幂数(水仙花数)
//1.计算i的位数--n位数
int n = 1;
int tmp = i;
int sum = 0;
while (tmp / 10)
{
n++;
tmp = tmp / 10;
}
//2.计算i的每一位的n次方之和 sum
tmp = i;
while (tmp)
{
sum = sum + pow(tmp % 10, n);//pow函数计算每一位的n次方
tmp = tmp / 10;
}
//3.比较i==sum
if (i == sum)
{
printf("%d ", i);
}
}
return 0;
}