2020年4月9日木曜日

学習環境

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


  1. 甲、乙、丙 が単独で仕事をした場合にかかる 日数を a、b、 c とする。

    このとき、 問題の仮定より、

    181a+1b+1c=361a+1b=241b+1c=1

    この解を求めればよい。

    31a+1b+1c=61a+1b=41b+1c=1631a+1b=21b+1c3bc+ca=2ca+abc=2ab3b+a-2a=2aba+3b1a+1b+a+3b2ab=21a+1b2b+2a+a+3b=4b+ab=ac=2a2a+3a=12a61a+1a=16a=b=72c=36

    よって、 甲、乙、丙が単独で仕事をするとそれぞれ72日、72日、36日かかる。

コード

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

print('8.')


class Test(TestCase):
    def test(self):
        a, b, c = symbols('a, b, c')

        s = solve([18 * (1 / a + 1 / b + 1 / c) - 1,
                   36 * (1 / a + 1 / b) - 1,
                   24 * (1 / b + 1 / c) - 1])
        self.assertEqual(len(s), 1)
        self.assertEqual(s[0], {a: 72, b: 72, c: 36})


if __name__ == "__main__":
    main()

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

% ./sample8.py -v
8.
test (__main__.Test) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.311s

OK
%

0 コメント:

コメントを投稿