程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> c語言:3種方法;求出0~999之間的所有“水仙花數”並輸出。

c語言:3種方法;求出0~999之間的所有“水仙花數”並輸出。

編輯:關於C語言

c語言:3種方法;求出0~999之間的所有“水仙花數”並輸出。


方法一:
 #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    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved