首页 > 电脑

c语言的问题

更新时间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个,阻碍它的问题也是数学界面临的难题——因式分解。别费那劲了。


相关标签:c语言

上一篇:如何在c++6.0中快速找到自己的编译错误

下一篇:开机提示按F1进入BIOS显示CPUfanerror