学習環境
- Surface 3 (4G LTE)、Surface 3 タイプ カバー、Surface ペン(端末)
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad Pro + Apple Pencil
- MyScript Nebo(iPad アプリ)
- 参考書籍
代数系入門 (松坂 和夫(著)、岩波書店)の第1章(整数)、5(素数、素因数分解)、問題18.を取り組んでみる。
1から n までの整数で、
で割り切れて、
では割り切れない整数の個数を
とおく。
このとき標準分解に現われる p のべき指数は
ここで、
は 1から n までの整数の p の倍数の個数、
は1から n までの整数の p の二乗の倍数の個数、
は1から n までの整数の p の三乗の倍数の個数である。
同様に、
は1から n までの整数の p の s 乗の倍数の個数である。
よって、 積 n の階乗の標準分解に現われるp のべき指数は、
コード(Emacs)
Python 3
#!/usr/bin/env python3 from sympy import pprint, factorial, factorint, floor for n in list(range(2, 10)) + list(range(50, 60)): a = factorial(n) ps = factorint(a) for t in [n, a, ps]: pprint(t) for p in ps: s = sum([floor(n / p ** i) for i in range(1, 20)]) for t in [p, s, ps[p] == s]: print(t, end=' ') print() print()
入出力結果(Terminal, Jupyter(IPython))
$ ./sample18.py 2 2 {2: 1} 2 1 True 3 6 {2: 1, 3: 1} 2 1 True 3 1 True 4 24 {2: 3, 3: 1} 2 3 True 3 1 True 5 120 {2: 3, 3: 1, 5: 1} 2 3 True 3 1 True 5 1 True 6 720 {2: 4, 3: 2, 5: 1} 2 4 True 3 2 True 5 1 True 7 5040 {2: 4, 3: 2, 5: 1, 7: 1} 2 4 True 3 2 True 5 1 True 7 1 True 8 40320 {2: 7, 3: 2, 5: 1, 7: 1} 2 7 True 3 2 True 5 1 True 7 1 True 9 362880 {2: 7, 3: 4, 5: 1, 7: 1} 2 7 True 3 4 True 5 1 True 7 1 True 50 30414093201713378043612608166064768844377641568960512000000000000 {2: 47, 3: 22, 5: 12, 7: 8, 11: 4, 13: 3, 17: 2, 19: 2, 23: 2, 29: 1, 31: 1, 3 7: 1, 41: 1, 43: 1, 47: 1} 2 47 True 3 22 True 5 12 True 7 8 True 11 4 True 13 3 True 17 2 True 19 2 True 23 2 True 29 1 True 31 1 True 37 1 True 41 1 True 43 1 True 47 1 True 51 1551118753287382280224243016469303211063259720016986112000000000000 {2: 47, 3: 23, 5: 12, 7: 8, 11: 4, 13: 3, 17: 3, 19: 2, 23: 2, 29: 1, 31: 1, 3 7: 1, 41: 1, 43: 1, 47: 1} 2 47 True 3 23 True 5 12 True 7 8 True 11 4 True 13 3 True 17 3 True 19 2 True 23 2 True 29 1 True 31 1 True 37 1 True 41 1 True 43 1 True 47 1 True 52 80658175170943878571660636856403766975289505440883277824000000000000 {2: 49, 3: 23, 5: 12, 7: 8, 11: 4, 13: 4, 17: 3, 19: 2, 23: 2, 29: 1, 31: 1, 3 7: 1, 41: 1, 43: 1, 47: 1} 2 49 True 3 23 True 5 12 True 7 8 True 11 4 True 13 4 True 17 3 True 19 2 True 23 2 True 29 1 True 31 1 True 37 1 True 41 1 True 43 1 True 47 1 True 53 4274883284060025564298013753389399649690343788366813724672000000000000 {2: 49, 3: 23, 5: 12, 7: 8, 11: 4, 13: 4, 17: 3, 19: 2, 23: 2, 29: 1, 31: 1, 3 7: 1, 41: 1, 43: 1, 47: 1, 53: 1} 2 49 True 3 23 True 5 12 True 7 8 True 11 4 True 13 4 True 17 3 True 19 2 True 23 2 True 29 1 True 31 1 True 37 1 True 41 1 True 43 1 True 47 1 True 53 1 True 54 230843697339241380472092742683027581083278564571807941132288000000000000 {2: 50, 3: 26, 5: 12, 7: 8, 11: 4, 13: 4, 17: 3, 19: 2, 23: 2, 29: 1, 31: 1, 3 7: 1, 41: 1, 43: 1, 47: 1, 53: 1} 2 50 True 3 26 True 5 12 True 7 8 True 11 4 True 13 4 True 17 3 True 19 2 True 23 2 True 29 1 True 31 1 True 37 1 True 41 1 True 43 1 True 47 1 True 53 1 True 55 12696403353658275925965100847566516959580321051449436762275840000000000000 {2: 50, 3: 26, 5: 13, 7: 8, 11: 5, 13: 4, 17: 3, 19: 2, 23: 2, 29: 1, 31: 1, 3 7: 1, 41: 1, 43: 1, 47: 1, 53: 1} 2 50 True 3 26 True 5 13 True 7 8 True 11 5 True 13 4 True 17 3 True 19 2 True 23 2 True 29 1 True 31 1 True 37 1 True 41 1 True 43 1 True 47 1 True 53 1 True 56 710998587804863451854045647463724949736497978881168458687447040000000000000 {2: 53, 3: 26, 5: 13, 7: 9, 11: 5, 13: 4, 17: 3, 19: 2, 23: 2, 29: 1, 31: 1, 3 7: 1, 41: 1, 43: 1, 47: 1, 53: 1} 2 53 True 3 26 True 5 13 True 7 9 True 11 5 True 13 4 True 17 3 True 19 2 True 23 2 True 29 1 True 31 1 True 37 1 True 41 1 True 43 1 True 47 1 True 53 1 True 57 40526919504877216755680601905432322134980384796226602145184481280000000000000 {2: 53, 3: 27, 5: 13, 7: 9, 11: 5, 13: 4, 17: 3, 19: 3, 23: 2, 29: 1, 31: 1, 3 7: 1, 41: 1, 43: 1, 47: 1, 53: 1} 2 53 True 3 27 True 5 13 True 7 9 True 11 5 True 13 4 True 17 3 True 19 3 True 23 2 True 29 1 True 31 1 True 37 1 True 41 1 True 43 1 True 47 1 True 53 1 True 58 235056133128287857182947491051507468382886231818114292442069991424000000000000 0 {2: 54, 3: 27, 5: 13, 7: 9, 11: 5, 13: 4, 17: 3, 19: 3, 23: 2, 29: 2, 31: 1, 3 7: 1, 41: 1, 43: 1, 47: 1, 53: 1} 2 54 True 3 27 True 5 13 True 7 9 True 11 5 True 13 4 True 17 3 True 19 3 True 23 2 True 29 2 True 31 1 True 37 1 True 41 1 True 43 1 True 47 1 True 53 1 True 59 138683118545689835737939019720389406345902876772687432540821294940160000000000 000 {2: 54, 3: 27, 5: 13, 7: 9, 11: 5, 13: 4, 17: 3, 19: 3, 23: 2, 29: 2, 31: 1, 3 7: 1, 41: 1, 43: 1, 47: 1, 53: 1, 59: 1} 2 54 True 3 27 True 5 13 True 7 9 True 11 5 True 13 4 True 17 3 True 19 3 True 23 2 True 29 2 True 31 1 True 37 1 True 41 1 True 43 1 True 47 1 True 53 1 True 59 1 True $
0 コメント:
コメントを投稿