Processing math: 100%

2019年10月2日水曜日

学習環境

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



    1. 48-18-50=423-2·32-2·52=82-32-52=0

    2. 175-63=52·7-32·7=57-37=27

    3. 354-224-96=32·33-223·3-25·3=96-46-46=6

    4. 20-32+345-50=22·5-32+332·5-2·52=25-32+95-52=-82+115

    5. (3-2)2=3+2-26=5-26

    6. 6(3+4)2·3(3+2)=32+26

    7. (32+23)2=18+12+126=30+126

    8. (27-3)(27+3)=28-9=19

    9. (8+3)(23-2)=(22+3)(23-2)=46-4+6-6=2+36

コード

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 コメント:

コメントを投稿