欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c语言:3种方法;求出0~999之间的所有“水仙花数”并输出。

程序员文章站 2022-05-13 16:33:37
方法一: #include int main() { int i,j,k,n; printf("水仙花数:"...
方法一:

 #include <stdio.h>
int main()
{
int i,j,k,n;
printf("水仙花数:",n);
for(n=100;n<1000;n++)
{
i=n/100;
j=n/10-i*10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)
            printf("%d\n ",n);
}
return 0;
}

 

输出结果:

水仙花数:153

 370

 371

 407

 Press any key to continue

方法二:

#include <stdio.h>
#include <math.h>
int main()
{
int i,m,sum;
for(i=100;i<1000;i++)
{
sum=0;
m=i;
do
{
sum=sum+pow(m%10,3);//pow(a,b)是指a的b次幂是double型的
             m=m/10;
}
while(m!=0);
if(sum==i)
            printf("%d ",i);
}
printf("\n");
return 0;
}

 

运行结果:

153 370 371 407

 

 

 

             Press any key to continue

方法三:

 #include <stdio.h>
int main()
{
int i,j,k,n;
printf("水仙花数:",n);
for(n=100;n<1000;n++)
{
i=n/100;
        j=(n-i*100)/10;
           k=n-i*100-j*10;
if(n==i*i*i+j*j*j+k*k*k)
            printf("%d\n ",n);
}
return 0;
}

 

结果:

水仙花数:153

 370

 371

 407