题解 | #完全数计算#
完全数计算
http://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84
注意求约数的时候计算到该数的一半即可。
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
while(in.hasNextInt()){
int n = in.nextInt();
int count = 0; //计数变量
//第一个完全数是6,若小于6则输出0
if(n < 6){
System.out.println(0);
}
for(int t=6; t <= n; t++){
int sum = 0;
//统计因数的和,计数到该数的1/2即可
for(int i=1; i <= t/2; i++){
if(t%i == 0)
sum += i;
}
if(sum == t)
count++;
}
//输出结果
System.out.println(count);
}
}
}