正の整数を2つ入力し,その最大公約数を求めるプログラムを作成し,プログラムと実行結果をTEAMSに提出してください.
ただしEXIT文を必ず使うこと.(使っていない場合は当然減点します)上記アルゴリズム通りに組めばよいですね.以下の解答例が分かりやすいと思います.
PROGRAM REPORT0122
IMPLICIT NONE
INTEGER :: I, J, M, N, K
C データ入力
WRITE(*,*) 'I, J ='
READ(*,*) I, J
C 入力した数値の大小比較
IF (I < J) THEN
M=J
N=I
ELSE
M=I
N=J
END IF
C 繰り返し.条件が合えばDO文から脱出
DO
K=MOD(M,N)
IF (K == 0) EXIT
M=N
N=K
END DO
C 結果表示
WRITE(*,*) '最大公約数は', N
STOP
END PROGRAM REPORT0122
READ(*,*)M,N
C 変数の初期化
I=0
J=0
X=0
C IF文始め(入力した数の大小を判断)
IF (M>N) THEN
I=M
J=N
ELSE
J=M
I=N
END IF
としてプログラムを作成している人が10名弱いました.計算結果は間違っていませんでしたが,指示された変数を使ってプログラムが作成できるようになって欲しいものです(理由は後に説明します).たいていの人はレポートの説明通りの変数を使ってプログラムを作成していました.
All rights reserved.