java---亲密数

如果整数A的全部因子(包括1,不包括A本身)之和等于B,且整数B的全部 因子包括1,不包括B本身)之和等于A,则称整数A\B是一对亲密数。求3000 以内的全部亲密数。
public class  intimacy{

    //主函数

    public static void main(String[] args) {

        for(int a=2;a<=3000;a++) {

            //b赋值与a因子和相等

            int b=sum(a);    

            if(sum(b)==a&&a<b) {

                System.out.println(a+"与"+b);

            }

        }

    } 

    //因子的和

    public static int sum(int n) { 

        int sum=0;  

        for(int i=1;i<=n/2;i++){  

            if(n%i==0){  

                sum+=i;  

            }  

        }  

        return sum;  

    } 

}

猜你喜欢

转载自blog.csdn.net/sae0616/article/details/80481441