#include <stdio.h>
#include <math.h>
int main()
{
int i = 0;
for(i = 1; i<= 100000; i++)
{
//判断i是否是自幂数
//1.计算i的位数n
int n = 1;
int tmp = i;
while (tmp / 10)
{
n++;
tmp /= 10;
}
//2.计算i的每一位的n次幂之和
tmp = i;
int sum = 0;
while (tmp)
{
sum += (int)pow(tmp % 10,n);
tmp /= 10;
}
//3.输出
if (sum == i)
printf("%d ", i);
}
return 0;
}
题目描述:
写一个代码打印1-100000之间的所有自幂数,中间用空格分开。