編程題目:
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++;
}
}
}