素数判定

 素数(prime number)とは、1およびその数自身の他に約数を有しない正の整数のことです。
 キーボードから入力した自然数が素数かどうかを判定し表示するプログラムを作成せよ。 入力数nに対して、「nは素数です」あるいは「nは合成数です」と答えるものとします。

 無駄な割り算の回数を減らす工夫せよ。

  1. 例えば49=7×7であるから、与えられた数の平方根までの因数候補について調べれば良い
    ヒント:double sqrt(double x)

  2. 2より大きい素数は奇数であることを利用せよ
    ヒント:3以上については奇数のみを因数候補とすれば良い

素因数分解

 キーボードから入力した自然数を素因数分解(factorization into prime factors)して表示するプログラムを作成せよ。
例えば、12 に対しては、12 = 2*2*3 と表示するものとします。

最大公約数

 キーボードから入力した2個の自然数の最大公約数(greatest common divisor)を表示するプログラムを作成せよ。
例えば、120 72 に対しては、24 と表示するものとします。
ヒント:ユークリッドの互除法を使えば良い
原理
整数AとBの最大公約数をGCD(A,B)で表し、
A>Bとして、AをBで割った余りをRとする。
すると、GCD(A,B)=GCD(B,R)である