题解 | #完全数计算#
完全数计算
https://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84
import java.util.Scanner; import java.io.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String str = ""; while((str = reader.readLine()) != null){ int num = Integer.parseInt(str); int count = 0; // 不是偶数的话,不可能是 for(int i=6;i<=num;i+=2){ int sum = 0; for(int j=2;j<=Math.sqrt(i);j++){ if(i%j == 0){ // 直接加上两个因子,提高效率 sum = sum + j + i/j; } } // 加上刚开始的1 sum++; if(sum == i){ count++; } } System.out.println(count); } } }