不需要math头文件
int narcissistic( int number )
{
int count=0,sum=0;
int number1=number,number2=number,renumber; //number1,number2记录number的值
int re=1;
while(number>0) //计算位数
{
count++;
number=number/10;
}
while(number1>0)
{
re=1;
renumber=number1%10;
for(int i=1;i<=count;i++) //计算该位数的幂次结果,相当于pow(a,b)函数
{
re=re*renumber;
}
sum=sum+re; //每位幂次结果相加
number1=number1/10;
}
if(number2==sum) //初始相等
return 1;
else
return 0;
}
void PrintN( int m, int n )
{
for(int i=m+1;i<n;i++)
{
if(narcissistic(i))
printf("%d\n",i);
}
}