Processing math: 100%

2017年12月14日木曜日

学習環境

代数系入門 (松坂 和夫(著)、岩波書店)の第1章(整数)、5(素数、素因数分解)、問題10.を取り組んでみる。


  1. 232+1=232+1+54·228-54·228=(54·228+232)-(54·228-1)=228·(54+24)-(52·214-1)(52·214+1)=228·641-(5·27+1)(5·27-1)(52·214+1)=228·641-641(5·27-1)(52·214+1)=641(228-(5-27-1)(52-214+1))

    よって、

    232+1

    は641を約数にもつ。

コード(Emacs)

Python 3

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

n = 641
m = 2 ** 32 + 1

for t in [n, m]:
    for s in [n, factorint(n)]:
        pprint(s)
        print()
    print()

print(m % n == 0)

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

$ ./sample10.py
641

{641: 1}


641

{641: 1}


True
$

0 コメント:

コメントを投稿