! 最大公約数を求める PROGRAM ex5_5 IMPLICIT NONE INTEGER :: m, n, k PRINT '(1X, A)', 'Input two integers m, n (>0): ' READ *, m, n IF ( m > 0 .AND. n > 0 ) THEN DO k = MOD( m, n ) IF ( k == 0 ) EXIT m = n n = k END DO IF ( n > 1 ) THEN PRINT '(1X, A, I10)', '最大公約数 = ', n ELSE PRINT '(1X, A)', '公約数なし' END IF END IF END PROGRAM ex5_5