亲密数
如果整数A 的全部因子(包括1,不包括A本身)之和等于B,且整数B的全部因子(包括1,不包括B本身)之和等于A,则称整数A\B是一对亲密数。求3000以内的全部亲密数。
代码:
package chp3;
public class CloseNumber{
public static void main(String[] args){
for(int i=1;i<=3000;i++){
int b=allFact(i);
int a=allFact(b);
if( i==a&&a<b ){
System.out.println(a+" "+b);
}
}
}
public static int allFact(int n){
int sum=0;
for(int i=1;i<=n/2;i++){ //a<=n/2表明n的因子中不包含n本身
if(n%i==0)
sum=sum+i;
}
return sum;
}
}
转载于:https://blog.51cto.com/wyld123/1901859