判断一个数是不是完全数,就用n%i来计算就好了,如果是因数就累加起来,算到n/2就好
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 int n = in.nextInt(); int cnt = 0; for(int i =6;i<n;i++){ if(ifshu(i)){ cnt++; } } System.out.print(cnt); } public static boolean ifshu(int n){ boolean one = false; int sum = 0; for(int i = 1;i<=(n/2);i++){ if(n%i==0){ sum+=i; } } if(sum==n){ one = true; } return one; } }