C 練習(xí)實(shí)例19
題目:一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為"完數(shù)"。例如6=1+2+3.編程找出1000以內(nèi)的所有完數(shù)。
程序分析:請(qǐng)參照:C 練習(xí)實(shí)例14。
程序源代碼:
// Created by hgci.cn on 15/11/9. // Copyright © 2015年 W3Cschool教程. All rights reserved. // #include<stdio.h> #define N 1000 int main() { int i,j,k,n,sum; int a[256]; for(i=2;i<=N;i++) { sum=a[0]=1; k=0; for(j=2;j<=(i/2);j++) { if(i%j==0) { sum+=j; a[++k]=j; } } if(i==sum) { printf("%d=%d",i,a[0]); for(n=1;n<=k;n++) printf("+%d",a[n]); printf("\n"); } } return 0; }
以上實(shí)例輸出結(jié)果為:
6=1+2+3 28=1+2+4+7+14 496=1+2+4+8+16+31+62+124+248
更多建議: