一個數如果恰好等於它的因子之和,這個數就稱為"完數"


題目:

一個數如果恰好等於它的因子之和,這個數就稱為"完數"

(因子:除去這個數本身正的約數)

例如6=1+2+3.編程 找出1000以內的所有完數

 

問題:

1.一個數他的所有因子如何求?

for(int i = 1;i <=1000;i++)//這1000個數中,每執行一次,得到一個數,要么存在完數,要么為0;
		{
			for(int j=1;j<i;j++) {//這個得到的結果是一個數的所有因子相加
				if(i%j==0)//因子:除去這個數本身正的約數
					factor+=j;//因子相加
			}
			if(factor == i) {//如果這個因子之和等於它本身,則它是完數
				System.out.println("完數為:"+i);
				count++;
			}
			factor=0;
		}

 

完整代碼:

package demo;

public class Test15{
    static int count;
    public static void main(String[] args) {
        int factor=0;
        for(int i = 1;i <=1000;i++)//這1000個數中,每執行一次,得到一個因子,要么存在,要么為0;
        {
            for(int j=1;j<i;j++) {//這個得到的結果是一個數的所有因子相加
                if(i%j==0)//因子:除去這個數本身正的約數
                    factor+=j;//因子相加
            }
            if(factor == i) {//如果這個因子之和等於它本身,則它是完數
                System.out.println("完數為"+i);
                count++;
            }
            factor=0;
        }
        System.out.println("0到1000所有完數的為:"+count+"個");
        
    }
}

 


免責聲明!

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



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