JAVA编写方法输出n以内的所有完数. 完数是指如果一个数恰好等于他的因子之和, 则这个数就是完数. 例如: 6的因子是1,2,3. 1+2+3=6, 因此6是完数.
问题描述:
编写方法输出n以内的所有完数. 完数是指如果一个数恰好等于他的因子之和, 则这个数就是完数. 例如: 6的因子是1,2,3. 1+2+3=6, 因此6是完数.
答
// 如果有帮助 采纳一下
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
for(int i=2; i<= n; i++) {
int b=0;
for(int j=1; j<=i/2; j++)
{
if(i%j==0)
{
b=b+j;
}
}
if(b!=i) {
b=0;
}
else {
System.out.println(i);
}
}
}
}