素因数に分解して表示する

C:\DATA\Java2\Dos>java Soinsu
整数値をタイプして下さい : 120
n=120  素因数=2
n=60  素因数=2
n=30  素因数=2
n=15  素因数=3
n=5  素因数=5
 -- Press any key to exit (Input "c" to continue) --

整数をコンソールから入力して素因数に分解して表示します。

前田稔の超初心者のプログラム入門

プログラムの作成

  1. メモ帳などでタイプして Soinsu.java の名前で保存して下さい。
        //★ 整数を入力して素因数分解を行う  前田 稔
        import java.io.*;
    
        class Soinsu
        {   public static void main(String args[])
            {   BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
                String str;
                int    n,i;
    
                try
                {   System.out.print("整数値をタイプして下さい : ");
                    str = input.readLine();
                    n= Integer.parseInt(str.trim());
                    i= 2;
                    while(n!=1)
                    {   if (n%i==0)
                        {   System.out.println("n=" + n + "  素因数=" + i);
                            n/= i;
                        }
                        else	i++;
                    }
                }
                catch(IOException e)
                {   System.out.println("Exception : " + e);
                }
            }
        }
        
  2. Soinsu.java をコンパイルして class オブジェクトを実行して下さい。
    コンパイルの詳細は Java を動かす を参照して下さい。
  3. 120 をタイプ入力したとき、ページ先頭の画面が表示されたら完成です。

プログラムの説明

  1. コンソールから文字列をタイプ入力するので java.io.*; をインポートして下さい。
    コンソールから数値をタイプ入力する方法は コンソールから数値を入力する を参照して下さい。
  2. 整数値をコンソールから入力して変数(n)に設定します。
  3. 素因数を調べる変数(i)を2に設定します。
  4. n が1になるまで次の処理を繰り返します。
    nがiで割り切れるとき
    nがiで割り切れないときは「i=i+1」を実行します。
  5. このプログラムのポイントは i=2 から始めて n が i で割り切れなくなるまで i を繰り返すことです。
  6. try と catch 及び str.trim() の説明は コンソールから数値を入力する を参照して下さい。

超初心者のプログラム入門(Java2)