7-2 完数 (20 分)
一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数。
输入格式:
整数N
输出格式:
N之内的所有完数,每个完数之间用逗号(英文半角)分隔开。注意:1不作为完数
输入样例:
在这里给出一组输入。例如:
30
输出样例:
在这里给出相应的输出。例如:
6,28
代码如下:
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner s= new Scanner(System.in);
int a=s.nextInt();
for(int i=2;i<=a;i++) {
int sum=0;
for(int i1=1;i1<i;i1++) {
if(i%i1==0) {sum+=i1;}
}
if(i==sum) {
if(i==6) {
System.out.print(i);
}
else System.out.print(","+i);
}
}
}
}