2020年4月7日火曜日

学習環境

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


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

    100a+10b+c

    問題の仮定より、

    {a+b+c=123b=a+c100c+10b+a=100a+10b+c+693

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

    99a-99c=-693a-c=-7c=a+73b=a+a+7b=2a+73a+2a+73+a+7=123a+2a+7+3a+21=368a=8a=1b=3c=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 コメント:

コメントを投稿