2019年9月7日土曜日

学習環境

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


  1. 素因数分解。

    180 = 2 2 · 3 2 · 5

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

    φ 180 = 180 1 - 1 2 1 - 1 3 1 - 1 5 = 180 · 1 2 · 2 3 · 4 5 = 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 コメント:

コメントを投稿