Loading [MathJax]/jax/output/CommonHTML/jax.js

2017年11月22日水曜日

学習環境

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


    1. 7935=5796·1+21395796=2139·2+15182139=1518·1+6211518=621·2+276621=276·2+69276=69·4

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


    2. 39600=32670·1+693032670=6930·4+49506930=4950·1+19804950=1980·2+9901980=990·2

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

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

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

      16863=198·85+33198=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 コメント:

コメントを投稿