最佳答案
程序的程序如下:
#include
#include
int Is_Narcissistic(int n) //是否水仙花数
{
int i,m,ct,b[20];
m=n;
ct=0;
while(m!=0)
{
b[ct++]=m%10;
m/=10;
}
for(i=0;i
m+=(int)pow(b[i],ct);
if (m==n)
return 1;
return 0;
}
int main(void)
{
int i,n;
for(i=100;i<99999999;i++)
if (Is_Narcissistic(i))
printf("%d\n",i);
return 0;
}
运行结果:
153
370
371
407
1634
8208
9474
54748
92727
93084
548834
1741725
4210818
9800817
9926315
24678050
24678051
88593477
由于没考虑算法优化,运行时间较长(在我的电脑上用了32秒)
最佳答案由网友 whoami1978 提供