2

したがって、私の課題は、(ユーザーが入力した) 数値の範囲内ですべての「マジック ナンバー」を見つけることです。マジック ナンバーとは、因数 (それ自体を除く) の合計がその数になる数です。したがって、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);
                    }
            }
        }
    }
}
4

5 に答える 5

0
public class Magic {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        int b =778393;
        int e=0,c;

        while (b>=10) {
            while (b>0) {
                c=b%10;
                b=b/10;
                e=e+c;
            }
            b=e;
            e=0;
            System.out.println(b);
        }
        if (b==1) {
            System.out.println("It is a magic no."+b);
        } else {
            System.out.println("Not"+b);
        }
    }
}
于 2015-10-24T13:19:55.713 に答える
0

このマジックナンバープログラム http://getprogramcode.com/2013/11/java-program-to-check-for-a-magic-number/を参照して、これ を書くことを考えました。

public class HelloWorld{

     public static void main(String []args){
        static int number=5432;
        while(number>9){
            int tot = calculateSum(number);
            System.out.println(tot);
        }
     }

     private static int calculateSum(int num){
         int sum = 0;
         while (num > 0) {
            int a = num % 10;
            sum = sum+ a;
            num = num / 10;
        }
         number = sum;
         return sum;
     }
}
于 2014-11-24T18:34:41.190 に答える