亲密数

public class 亲密数{
    public static void main(String argv [] ){
        int a,i,b,n;
        System.out.println("There are following friendly-numbers pair smaller than 6000:\n");
        for(a=1;a<6000;a++){ //穷举6000以内的全部整数
            for(b=0,i=1;i<=a/2;i++){//*计算数a的各因子,各因子之和存放于b
                if((a%i)==0){
                    b+=i;
                }
            }
            //*计算b的各因子,各因子之和存于n
            for(n=0,i=1;i<=b/2;i++){
                if((b%i)==0){
                    n+=i;
                }
            }
            if(n==a&&a<b){
                System.out.println( String.format("%4d..%4d\n",a,b) );//*若n=a,则a和b是一对亲密数,输出
            }
        }
    }
}

 

posted @ 2015-05-09 16:53  无天666  阅读(433)  评论(0编辑  收藏  举报