亲密数

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是一对亲密数,输出

            }

        }

    }

}

 

你可能感兴趣的:(亲密数)