2084 本题可删除-完数

Time Limit : 2000/1000 MS(Java/Others) | Memory Limit : 131072/65536 KB(Java/Others)

Submits : 38 | Solved : 19

Description

编程输出n1到n2(n1<=n2)之间所有的完数。所谓完数就是因子之和与它本身相等的数。例如6=1+2+3,6就是一个完数。
要求:定义函数factor(m)判断m是否为完数;由主函数调用它,来对所有n1到n2之间所有的数进行判断。

Input

所有输入在合法范围内。
输入仅一组数据,即n1 n2,中间用空格隔开

Output

输出计算结果,输出每5个完数换一行,未满5个不用换行

Sample Input

1 1000

Sample Output

6 28 496

HINT

#include < stdio.h >
int main(){
  int n1,n2;
  int i,j,sum,count=1;
  scanf("%d%d",&n1,&n2);
  for (i=n1;i<=n2;i++){
    sum=0;
    for(j=1;j<=i/2;j++) if (i%j==0&&sum<=i) sum+=j;
    if (sum==i) {
       printf("%d ",i);
       count++;
       if (count%5==0) printf("\n",count);
    }
  }
  return 0;
}

Source

NBU OJ

[ Top ] | [ Submit ]