練習題-9

鷹鯤發表於2020-11-26

一個數如果恰好等於它的因子之和,這個數就稱為 "完數 "。例如6=1+2+3.程式設計 找出1000以內的所有完數。

package lei;

public class LianXi09 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//因子就是所有可以整除這個數的數,不包括這個數自身. 因數包括這個數本身而因子不包括。 
		// 完數是指此數的所有因子之和等於此數。
		 
		              for(int i=1;i<1000;i++)   //遍歷1000以內所有整數
		              {
		                  
		            	  int sum=0;  //定義和變數
		                  for(int j=1;j<i;j++){
		                      if(i%j==0){   
		                         //滿足是i的因子就累加   
		                          sum+=j;
		                      } 
		                  }
		                      if(sum==i){   //滿足因子之和等一i就列印該完數
		                      System.out.println(i);
		                  }
		              }
		       }
	}