更新时间2018-03-06 20:03:41
输出10000000000以内的完数,所谓完数即一个数恰好等于它的因子(除去自身)之和,例如:6 = 1 + 2 + 3等等。
简单地用C求一个完全数,很简单
#include <stdio.h>
#define N 10000000000
int main () {
int i,j,m;
for(i=1; i<=N; i++) {
for(j=1,m=0; j<i; j++) {
while(i%j==0) {
m=m+j;
break;
}
}
if(i==m) {
printf("%d
",i);
}
}
return 0;
}
但你要的10000000000以内的,恐怕不能一下子完成
看网友怎么说的
人类对完数都研究了几千年了,至今只找到40多个,20亿以内的完数只有5个,阻碍它的问题也是数学界面临的难题——因式分解。别费那劲了。