题解 | #完全数计算#
完全数计算
https://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int a = in.nextInt(); int count=0; for (int i = 2; i <= a; i++) { List<Integer> l=new ArrayList<>(); //求出所有约数, 除了自己之外 for (int j = 1; j < i; j++) { if(i%j==0){ l.add(j); } } int sum=0; for(Integer x:l){ sum+=x; } if(sum==i){ count++; } } System.out.println(count); } } }
先找出公约数,再找出公约数相加等于该数的数,累加都计数器