2009年3月18日 星期三

C語言的範例 –素數判斷 - 印出所有的“水仙花數”

C語言的範例 素數判斷
題目:判斷101-200之間有多少個素數,並輸出所有素數。 
1.程式分析:判斷素數的方法:用一個數分別去除2sqrt(這個數),如果能被整除, 則表明此數不是素數,反之是素數。 
2.程式源代碼: 
#include "math.h" 
main() 
{ 
 int m,i,k,h=0,leap=1; 
 printf("\n"); 
 for(m=101;m<=200;m++) 
  { k=sqrt(m+1); 
   for(i=2;i<=k;i++) 
     if(m%i==0) 
      {leap=0;break;} 
   if(leap) {printf("%-4d",m);h++; 
        if(h%10==0) 
        printf("\n"); 
        } 
   leap=1; 
  } 
 printf("\nThe total is %d",h); 
} 
============================================================== 
C語言的範例 印出所有的“水仙花數”
題目:列印出所有的“水仙花數”,所謂“水仙花數”是指一個三位元數,其各位數字立方和等於該數本身。例如:153是一個“水仙花數”,因為153=1的三次方+5的三次方+3的三次方。 
1.程式分析:利用for迴圈控制100-999個數,每個數分解出個位,十位,百位。 
2.程式源代碼: 
main() 
{ 
int i,j,k,n; 
printf("'water flower'number is:"); 
 for(n=100;n<1000;n++) 
 { 
  i=n/100;/*分解出百位*/ 
  j=n/10%10;/*分解出十位*/ 
  k=n%10;/*分解出個位*/ 
  if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) 
   { 
   printf("%-5d",n); 
   } 
 } 
printf("\n"); 
}