输出1000以内的完数(循环与函数)

以循环来写
  public static void main(String [] args){

            for(int i = 2;i < 1000;i++){
                int sum=1;
                for(int j = 2;j <=i/2;j++){
                    if(i % j == 0){
                        sum += j;
                    }
                }
                if(i == sum){
                    System.out.println(i+"是完数");
                }
            }
        }
 以函数来写
public static void main(String [] args){
        
        for (int num = 2; num < 1000; num++) {
            if (isPerfect(num)){
                System.out.printf("%5d");
            }
        }
    }

    private static boolean isPerfect(int num) {

        int sum = 1;
        for (int i = 2; i <= num/2; i++) {
            if(num%i == 0){
                sum += i;
            }
        }

     return sum==num;
    }

猜你喜欢

转载自blog.csdn.net/mo_dan_ren_xing/article/details/80816644