c语言编程打印图形_C语言编程打印所有8位以下的“水仙花数”
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秒)
其他回答
暂无其它回答!