題目:一個數如果恰好等于它的因子之和,這個數就稱為"完數",例如6=1+2+3.編程找出1000以內的所有完數,
程式分析:請參照:C 實戰練習題目14,
實體:
1 #include<stdio.h> 2 #define N 1000 3 int main() 4 { 5 int i,j,k,n,sum; 6 int a[256]; 7 for(i=2;i<=N;i++) 8 { 9 sum=a[0]=1; 10 k=0; 11 for(j=2;j<=(i/2);j++) 12 { 13 if(i%j==0) 14 { 15 sum+=j; 16 a[++k]=j; 17 } 18 19 } 20 if(i==sum) 21 { 22 printf("%d=%d",i,a[0]); 23 for(n=1;n<=k;n++) 24 printf("+%d",a[n]); 25 printf("\n"); 26 } 27 28 } 29 return 0; 30 }
以上實體輸出結果為:
6=1+2+3 28=1+2+4+7+14 496=1+2+4+8+16+31+62+124+248
感謝你的閱讀,請用心感悟!希望可以幫到愛學習的你!!分享也是一種快樂!!!請接力,,,
點擊查看原文,謝謝!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/24370.html
標籤:C
上一篇:C 實戰練習題目18
