打印1-100000的自幂数
自幂数是指一个数的位数的n次方等于这个数本身。例如自幂数153( 1^3+5^3+3^3=153)
#include<stdio.h>
#include <math.h>
int main()
{
int i = 1;
//打印 1-100000的自幂数
for (i = 1; i < 100000; i++)
{
//计算i的位数
int n = 0;
int tmp = i;
while (tmp)
{
n++;
tmp /= 10;
}
//计算i的每一位次方之合
tmp = i;
int sum = 0;
while (tmp)
{
sum += pow(tmp % 10, n);
tmp /= 10;
}
//输出
if (sum == i)
printf("%d ", i);
}
return 0;
}