したがって、私の課題は、(ユーザーが入力した) 数値の範囲内ですべての「マジック ナンバー」を見つけることです。マジック ナンバーとは、因数 (それ自体を除く) の合計がその数になる数です。したがって、6 は魔法の数です。なぜなら、それ自体以外の要素は 1、2、3 で、合計すると 6 になるからです。マジックナンバー。どんな助けでも大歓迎です。
public class MagicNumber {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.print("What is the top of the range?");
int range = IO.readInt();
if (range <= 0 ) {
IO.reportBadInput();
}
int sumOfFactors = 0;
for (int i = 1 ; i <= range ; i++) {
for (int m = 1 ; m < i; m++) {
if (i % m == 0) {
sumOfFactors = sumOfFactors + m;
}
if (sumOfFactors == i) {
System.out.println(i);
}
}
}
}
}