c语言编程打印图形_C语言编程打印所有8位以下的“水仙花数”

原问题:C语言编程打印所有8位以下的“水仙花数”
分类:编程开发 > 最后更新时间:【2016-12-14 22:01:47】
问题补充:

C语言编程打印所有8位以下的“水仙花数”

最佳答案

程序的程序如下:

#include<stdio.h>
#include<math.h>
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<ct;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  提供
公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
18

分享到:

其他回答

暂无其它回答!

    推荐