学習環境
- Surface 3 (4G LTE)、Surface 3 タイプ カバー、Surface ペン(端末)
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad Pro + Apple Pencil
- MyScript Nebo(iPad アプリ)
- 参考書籍
代数系入門 (松坂 和夫(著)、岩波書店)の第1章(整数)、5(素数、素因数分解)、問題17.を取り組んでみる。
和をとると0になるためには、全ての組に0が必要。
和をとると整数1となるには、1組だけ1が必要。
0から n-1までとるのに1組で n、他の組を。とすれば'、
等比数列の和を考える。
以上のような考察 を続ければ、
とすればいい。
コード(Emacs)
Python 3
#!/usr/bin/env python3 m = 3 n = 4 a = [[j * n ** i for j in range(n)] for i in range(m)] for nums in a: print(nums) print() for j0 in range(n): s0 = a[2][j0] for j1 in range(n): s1 = s0 + a[1][j1] for j2 in range(n): print(s1 + a[0][j2], end=' ') print() print(f'{n}^{m} - 1 = {n ** m - 1}') print() m = 4 n = 3 a = [[j * n ** i for j in range(n)] for i in range(m)] for nums in a: print(nums) print() for j0 in range(n): s0 = a[3][j0] for j1 in range(n): s1 = s0 + a[2][j1] for j2 in range(n): s2 = s1 + a[1][j2] for j3 in range(n): print(s2 + a[0][j3], end=' ') print() print(f'{n}^{m} - 1 = {n ** m - 1}')
入出力結果(Terminal, Jupyter(IPython))
$ ./sample17.py [0, 1, 2, 3] [0, 4, 8, 12] [0, 16, 32, 48] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 4^3 - 1 = 63 [0, 1, 2] [0, 3, 6] [0, 9, 18] [0, 27, 54] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 3^4 - 1 = 80 $
0 コメント:
コメントを投稿