如果整数 A 的全部因子(包括 1,不包括 A 本身)之和等于 B,且整数 B的全部 因子包括 1,不包括 B 本身)之和等于 A,则称整数 A,B 是一对亲密数。
求 3000 以内的全部亲密数。
public class QinMiShu { //求int a的因子 public static int QQ(int a){ int sum=0; for (int i = 1; i < a; i++) { if (a%i==0) sum+=i; } return sum; } public static void Q(){ int sum=0; //由题目可知:a的因子和的因子和等于a //从3000个数中选出 因子(因子(i))=i的数 for (int i = 0; i <= 3000; i++) { //a的因子和的因子和等于a if(QQ(QQ(i))==i&&QQ(i)<i)//QQ(i)<i,筛选出前后互换位置的组合 System.out.println("(" + i + "," + QQ(i) + ")"); } } public static void main(String[] args) { //调用Q Q(); } }