参考代码:
import java.util.Scanner; public class 亲密数 { public static void main(String[] args) { // 两个不同的自然数A和B,如果整数A的全部因子(包括1,不包括A本身)之和等于B; // 且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称为亲密数。求3000以内的全部亲密数。 Scanner sc = new Scanner(System.in); for (int x = 1; x < 3000; x++) { int sum = 0; int sum1 = 0; for (int i = 1; i < x; i++) { if(x % i == 0) { sum+=i; } } for (int i = 1; i < sum; i++) { if(sum % i == 0) { sum1+=i; } } if(sum1 == x && x != sum && x < sum) { System.out.print("(" + x + "," + sum + ")"); } } } }
0.0分
9 人评分