Processing math: 100%

2019年9月7日土曜日

学習環境

中学数学からはじめる暗号入門 ~現代の暗号はどのようにして作られたのか~ (知りたい!サイエンス 141) (関根 章道(著)、技術評論社)の後編(現代の暗号)、第8章(最終問題)のやってみよう⑨の解答を求めてみる。


  1. 素因数分解。

    180=22·32·5

    よって、求めるオイラー関数の値は、

    φ(180)=180(1-12)(1-13)(1-15)=180·12·23·45=48

コード

Python 3

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import gcd


class MyTest(TestCase):
    def setUp(self):
        pass

    def tearDown(self):
        pass

    def test(self):
        n = 180
        euler = len([i for i in range(1, n) if gcd(n, i) == 1])
        self.assertEqual(euler, 48)


if __name__ == '__main__':
    main()

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

$ ./sample1.py
.
----------------------------------------------------------------------
Ran 1 test in 0.026s

OK
$ 

0 コメント:

コメントを投稿