题解 | #完全数计算#
完全数计算
https://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int count = 0; for(int i=2;i<=n;i++){ if(isTrue(i)){ count++; } } System.out.println(count); } public static boolean isTrue(int n) { int s = (int)Math.sqrt(n); int num = 1; //统计因子,两个因子比它的开方要么一大一小,要么相等 for (int i = 2; i <= s; i++) { if (n % i == 0) { num = num+n/i+i; } } if(num == n){ return true; }else return false; } }