编程找出1000之内的全部完数,
完数:一个数愉好等于它各因子之和。比如6=1+2=3
我是用DEV编绎的 其它编绎器不知能不能通过 。。不好意思 我是新手
[ 本帖最后由 zenglw 于 2009-10-25 13:11 编辑 ]
#include<stdio.h> #include<stdlib.h> #include<math.h> int main() { int swap(int n); int i,j;j=0; int t[10]; for(i=1;i<1000;i++) if(swap(i)) { t[j]=i; j++; } printf("1000以内有%d个完数:",j); for(i=0;i<j;i++) printf("%d ",t[i]); printf("\n"); int k; for(i=0;i<j;i++) { printf("\n%d的因子为:",t[i]); for(k=1;k<t[i];k++) if(t[i]%k==0) printf("%d ",k); } system("pause"); } int swap(int n) { int s,i; s=0; for(i=1;i<n;i++) { if(n%i==0) s=s+i; } int m; if(n==s) m=1; else m=0; return(m); }