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