Python 3 で数学を。

Python 3 とライブラリで数学の問題を解いていきます。統計学や機械学習はときどき。

アルゴリズム。ユークリッドの互除法 (再帰版)。最大公約数。gcd (greatest common divisor) (Python 3)

使用するライブラリ

なし

Python 3 コード

my_gcd2.py

#!/usr/bin/env python3


"""(docstring)
"""


def my_gcd2(x, y):
    """(docstring)
    """
    if y == 0:
        return x
    else:
        return my_gcd2(y, x % y)


if __name__ == '__main__':
    n_list = [[8, 12], [16, 24], [14, 28], [50, 125]]

    for x, y in n_list:
        print('{}{}{}{} {}'.format(x, ' と ', y, ' の最大公約数:', my_gcd2(x, y)))

出力

$ python3 my_gcd2.py
8 と 12 の最大公約数: 4
16 と 24 の最大公約数: 8
14 と 28 の最大公約数: 14
50 と 125 の最大公約数: 25

関連過去記事:

py3math.hatenablog.com

参考文献

C言語による最新アルゴリズム事典 (ソフトウェアテクノロジー)

C言語による最新アルゴリズム事典 (ソフトウェアテクノロジー)

改訂新版が出ている:

[改訂新版]C言語による標準アルゴリズム事典 (Software Technology)

[改訂新版]C言語による標準アルゴリズム事典 (Software Technology)