gcd.py (25 lines of code) (raw):

""" 2つの自然数aとbを入力する。ただし a ≧ b aをbで割った余りcを計算する cが0ならば(割り切れたら)、最大公約数はbである cが0でなければ、bを新しいa、cを新しいbとする 1に戻る """ def gcd(a, b): while True: c = a % b if c == 0: return b a = b b = c def gcd_another(a, b): c = a % b while c != 0: a = b b = c c = a % b return b def gcd_recursive(a, b): c = a % b if c == 0: return b return gcd_recursive(b, c) def main(): a, b = input().split() print(gcd_recursive(int(a), int(b))) return if __name__ == '__main__': main()