学習環境
- Surface、Surface ペン(端末)
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad Pro 10.5 + Apple Pencil
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
解析入門(上) (松坂和夫 数学入門シリーズ 4) (松坂 和夫(著)、岩波書店)の第1章(数)、1.2(自然数、整数)、問題4を取り組んでみる。
a ... l の任意の公倍数を
とおく。
このとき、
なので、
よって、 m は最小公倍数である。
a ... l の 任意の公約数を
とおく。
このとき、
が成り立つので、
よって、 d は最大公約数である。
(証明終)
コード
Python 3
#!/usr/bin/env python3 from sympy import pprint, symbols, randprime, lcm, gcd import random print('4.') n = 10 count = 10 primes = sorted(list({randprime(1, 100) for _ in range(n)})) exps_list = [[random.randrange(10) for _ in enumerate(primes)] for _ in range(count)] nums = [] for i in range(count): num = 1 for p, exp in zip(primes, exps_list[i]): num *= p ** exp nums.append(num) mu_list = [] delta_list = [] for i, _ in enumerate(primes): mu_list.append(max([exps[i] for exps in exps_list])) delta_list.append(min([exps[i] for exps in exps_list])) m = 1 for p, mu in zip(primes, mu_list): m *= p ** mu d = 1 for p, delta in zip(primes, delta_list): d *= p ** delta for o in [primes, exps_list, num, mu_list, delta_list, m, d, lcm(nums) == m, gcd(nums) == d]: pprint(o)
入出力結果(cmd(コマンドプロンプト)、Terminal、Jupyter(IPython))
C:\Users\...> py -3 sample4.py 4. [11, 17, 19, 29, 53, 73, 89] [[7, 3, 9, 4, 4, 8, 2], [1, 6, 7, 5, 1, 3, 2], [9, 9, 5, 7, 3, 1, 3], [8, 3, 8 , 7, 4, 8, 3], [0, 3, 3, 0, 0, 4, 3], [7, 7, 0, 7, 4, 8, 5], [1, 4, 8, 7, 3, 1 , 9], [3, 7, 9, 4, 4, 2, 1], [8, 7, 5, 8, 1, 1, 2], [7, 8, 5, 5, 0, 2, 2]] 291423047159579398508720407530795972949 [9, 9, 9, 8, 4, 8, 9] [0, 3, 0, 0, 0, 1, 1] 100632270097821755057086895637377335463655457626303503445742664576542120699393 977737 31919761 True True C:\Users\...>
0 コメント:
コメントを投稿