Loading [MathJax]/jax/output/HTML-CSS/jax.js

2019年8月6日火曜日

学習環境

中学数学からはじめる暗号入門 ~現代の暗号はどのようにして作られたのか~ (知りたい!サイエンス 141) (関根 章道(著)、技術評論社))の前編(暗号の歴史あれこれ)、第5章(ユークリッドさん、お母さんを助けて)の最大公約数、素因数分解(68ページ)の解答を求めてみる。

1615=1547·1+681547=68·22+5168=51·1+1751=17·3+0

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

素因数分解はそれぞれ、

1615=5·17·191547=7·13·17

コード

Python 3

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

ns = [1615, 1547]

for o in [gcd(*ns)] + [(n, primefactors(n)) for n in ns]:
    pprint(o)
    print()

入出力結果(Bash、cmd.exe(コマンドプロンプト)、Terminal、Jupyter(IPython))

$ ./sample1.py
17

(1615, [5, 17, 19])

(1547, [7, 13, 17])

$ 

0 コメント:

コメントを投稿