2019年10月2日水曜日

学習環境

代数への出発 (新装版 数学入門シリーズ) (松坂 和夫(著)、岩波書店)の第1章(実数)、5(平方根を含む式の計算)、問15の解答を求めてみる。



    1. 4 8 - 18 - 50 = 4 2 3 - 2 · 3 2 - 2 · 5 2 = 8 2 - 3 2 - 5 2 = 0

    2. 175 - 63 = 5 2 · 7 - 3 2 · 7 = 5 7 - 3 7 = 2 7

    3. 3 54 - 2 24 - 96 = 3 2 · 3 3 - 2 2 3 · 3 - 2 5 · 3 = 9 6 - 4 6 - 4 6 = 6

    4. 20 - 3 2 + 3 45 - 50 = 2 2 · 5 - 3 2 + 3 3 2 · 5 - 2 · 5 2 = 2 5 - 3 2 + 9 5 - 5 2 = - 8 2 + 11 5

    5. 3 - 2 2 = 3 + 2 - 2 6 = 5 - 2 6

    6. 6 3 + 4 2 · 3 3 + 2 = 3 2 + 2 6

    7. 3 2 + 2 3 2 = 18 + 12 + 12 6 = 30 + 12 6

    8. 2 7 - 3 2 7 + 3 = 28 - 9 = 19

    9. 8 + 3 2 3 - 2 = 2 2 + 3 2 3 - 2 = 4 6 - 4 + 6 - 6 = 2 + 3 6

コード

Python 3

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

print('15.')


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

    def tearDown(self):
        pass

    def test(self):
        spam = [4 * sqrt(8) - sqrt(18) - sqrt(50),
                sqrt(175) - sqrt(63),
                3 * sqrt(54) - 2 * sqrt(24) - sqrt(96),
                sqrt(20) - 3 * sqrt(2) + 3 * sqrt(45) - sqrt(50),
                (sqrt(3) - sqrt(2)) ** 2,
                sqrt(6) * (sqrt(3) + sqrt(4)),
                (3 * sqrt(2) + 2 * sqrt(3)) ** 2,
                (2 * sqrt(7) - 3) * (2 * sqrt(7) + 3),
                (sqrt(8) + sqrt(3)) * (2 * sqrt(3) - sqrt(2))]
        egg = [0,
               2 * sqrt(7),
               sqrt(6),
               -8 * sqrt(2) + 11 * sqrt(5),
               5 - 2 * sqrt(6),
               3 * sqrt(2) + 2 * sqrt(6),
               30 + 12 * sqrt(6),
               19,
               2 + 3 * sqrt(6)]
        for s, t in zip(spam, egg):
            self.assertEqual((s - t).simplify(), 0)


if __name__ == '__main__':
    main()

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

$ ./sample15.py
15.
.
----------------------------------------------------------------------
Ran 1 test in 0.294s

OK
$ 

0 コメント:

コメントを投稿