38.輸出100以內所有因子之和等於本身的數

編程題目:

38.編一個程序,打印出100以內所有因子之和等於本身的數(比如:6的因子有1,2,3,相加之和爲6)。

示例代碼:

package program.calculation.exercise38;

/**
 * 38.編一個程序,打印出100以內所有因子之和等於本身的數(比如:6的因子有1,2,3,相加之和爲6)。
 */

public class FactorSum {
	public static void main(String[] args) {
		
		System.out.println("100以內所有因子之和等於本身的數爲:");
		printNums();
		
	}

	private static void printNums() {
		int num = 1; //整數,從1開始
		int factor; //因子
		int sum; //和
		while(num <= 100) { //num要從1到100循環。
		   sum = 0;   //每算一個新的num時,sum要清0
		   for(factor=1; factor<num; factor++) { //1是任何數的因子
			   if(num % factor == 0) {
				   sum += factor; //如果factor是num的因子,sum加上factor
			   }
		   } 
		   if(num == sum) {
			   System.out.println(num);//如果因子和等於本身 
		   }
		   num++;
		}
	}
}

結果顯示:

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章