Fortran - 最大公約数の計算!
Updated:
Fortran 95 で最大公約数の計算をしてみました。(単純なアルゴリズムですが)
0. 前提条件
- LMDE 3 (Linux Mint Debian Edition 3; 64bit) での作業を想定。
- GCC 6.3.0 (GFortran 6.3.0) でのコンパイルを想定。
1. ソースコードの作成
- 単なる作成例なので、2つの整数はソースコード内に直接記述している。(必要であれば、適宜書き換えること)
- ここで重要なのは、内部副プログラムの
gcd
関数。
File: gcd.f95
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
!****************************************************
! 最大公約数計算
!
! date name version
! 2018.08.20 mk-mode.com 1.00 新規作成
!
! Copyright(C) 2018 mk-mode.com All Rights Reserved.
!****************************************************
!
program gcd_main
implicit none
write (*,*) gcd(144, 300)
stop
contains
! 最大公約数計算
!
! :param integer a
! :param integer b
! :return integer gcc
integer function gcd(a, b)
implicit none
integer, intent(IN) :: a, b
integer :: l, m, n
m = a
n = b
do
l = mod(m, n)
if (l == 0) exit
m = n
n = l
end do
gcd = n
return
end function gcd
end program gcd_main
2. ソースコードのコンパイル
$ gfortran -o gcd gcd.f95
3. 動作確認
$ ./gcd
12
以上、
Comments