求1000以內的完數。


/*
     要求:找出1000以內所有的完數,一個數如果恰好等於它的因子之和,這個數就是完數,例如:6=1+2+3
     思路:    1、用for循環找到1000以內的數
                    2、讓這個數對1和它本身以外的數求余,求余等於0,這個數就是它的因數
                    3、讓這些因數相加等於它,這個數就是完數,1000以內的完數是6、28、496
*/
import java.util.Scanner;
public class Study008{
    public static void main(String[] args){               //i從2開始到1000(因為1不是完數,1是所有數的因數)
        for (int i = 2 ;i <= 1000 ;i++ ){
            int s = 0;                                                  //s做累加,因子加起來等於這個數,此時這就是完數
            for (int j = 1 ;j < i /2 ;j++ ){
                if (i % j == 0){
                    s += j;
                }
            }
            if (s == i){
                System.out.println(s + "是完數");                   //完數結果出來啦   6、28、496
            }
        }
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM