如果整数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;
    }
}