2020年4月14日火曜日

学習環境

代数への出発 (新装版 数学入門シリーズ) (松坂 和夫(著)、岩波書店)の第5章(連立方程式と高次方程式)、2(連立2次方程式)、問11の解答を求めてみる。


  1. 直角三角形の斜辺の長さを a、それ以上の2辺 の長さで8 cm ではない辺の長さを b とする。

    このとき、 問題の仮定と三平方の定理より、

    { a + b + 8 = 24 b 2 + 8 2 = a 2

    この 連立2元2次方程式の解を求める。

    b = - a + 16 - a + 16 2 + 64 = a 2 - 32 a + 1 6 2 + 64 = 0 2 a = 16 + 4 a = 8 + 2 = 10 b = 6

    よって、 他の2辺の長さは斜辺が10 cm、直角をはさむもう1つの辺の長さが6 cm である。

コード

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

print('11.')

a, b = symbols('a, b')


class TestRightTriangleSides(TestCase):
    def test(self):
        self.assertEqual(solve([a + b + 8 - 24,
                                b ** 2 + 8 ** 2 - a ** 2]),
                         [{a: 10, b: 6}])


if __name__ == "__main__":
    main()

入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))

% ./sample11.py -v
11.
test (__main__.TestRightTriangleSides) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.284s

OK
%

0 コメント:

コメントを投稿