2020年4月7日火曜日

学習環境

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


  1. 3桁の整数の百の位を a、 十の位 b、一の位を c とおく。

    100 a + 10 b + c

    問題の仮定より、

    { a + b + c = 12 3 b = a + c 100 c + 10 b + a = 100 a + 10 b + c + 693

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

    99 a - 99 c = - 693 a - c = - 7 c = a + 7 3 b = a + a + 7 b = 2 a + 7 3 a + 2 a + 7 3 + a + 7 = 12 3 a + 2 a + 7 + 3 a + 21 = 36 8 a = 8 a = 1 b = 3 c = 8

    よって求める整数は 138。

コード

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

print('6.')

a, b, c = 1, 3, 8
n = 100 * a + 10 * b + c
m = 100 * c + 10 * b + a


class Test(TestCase):
    def test1(self):
        self.assertEqual(a + b + c, 12)

    def test2(self):
        self.assertEqual(3 * b, a + c)

    def test3(self):
        self.assertEqual(m, n + 693)


if __name__ == "__main__":
    main()

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

% ./sample6.py -v
6.
test1 (__main__.Test) ... ok
test2 (__main__.Test) ... ok
test3 (__main__.Test) ... ok

----------------------------------------------------------------------
Ran 3 tests in 0.000s

OK
%

0 コメント:

コメントを投稿