2017年11月22日水曜日

学習環境

代数系入門 (松坂 和夫(著)、岩波書店)の第1章(整数)、3(最大公約数)、問題2.を取り組んでみる。


    1. 7935 = 5796 · 1 + 2139 5796 = 2139 · 2 + 1518 2139 = 1518 · 1 + 621 1518 = 621 · 2 + 276 621 = 276 · 2 + 69 276 = 69 · 4

      よって、最大公約数は69。


    2. 39600 = 32670 · 1 + 6930 32670 = 6930 · 4 + 4950 6930 = 4950 · 1 + 1980 4950 = 1980 · 2 + 990 1980 = 990 · 2

      よって、 39600と32670の最大公約数は990。

      25542 = 990 · 25 + 792 990 = 792 · 1 + 198 792 = 198 · 4

      よって、990と25542の最大公約数は198。

      16863 = 198 · 85 + 33 198 = 33 · 6

      よって、 198と16863の最大公約数は33。

      以上より求める最大公約数は33。

コード(Emacs)

Python 3

#!/usr/bin/env python3
from sympy import pprint, gcd_list

print('2.')
nss = [[5796, 7935],
       [39600, 32670, 25542, 16863]]

for i, ns in enumerate(nss):
    print(f'({chr(ord("a") + i)})')
    for t in [ns, gcd_list(ns)]:
        pprint(t)
        print()
    print()

入出力結果(Terminal, Jupyter(IPython))

$ ./sample2.py
2.
(a)
[5796, 7935]

69


(b)
[39600, 32670, 25542, 16863]

33


$

0 コメント:

コメントを投稿