[Python學習筆記-012]古巴比倫人的乘法表
阿新 • • 發佈:2022-02-08
問題:我們知道,古巴比倫人採用的六十進位制。那麼,如果為古巴比倫人繪製一張59x59的乘法表,該如何實現呢?
通過Python實現並不複雜,但關鍵步驟有二:
- 01 - 將十進位制數轉換為六十進位制數
- 02 - 將六十進位制數翻譯成古巴比倫人的符號數字
在實現上述關鍵步驟之前,我們先看看古巴比倫人的符號數字。
在上述符號系統中,一把小鑰匙表示1,一個魚骨頭表示10。
- 1
- 10
接下來,我們將任何一個十進位制數轉換為六十進位制數。
1. 將十進位制數轉換為六十進位制數
1 def dec2basen(n, basen=2): 2 """ Convert decimal number to base-N number""" 3 m = n 4 k = 0 5 while True: 6 cnt = m // basen 7 if cnt == 0: 8 break 9 m = cnt 10 k += 1 11 12 m = n 13 out = [] 14 i = k 15 while i >= 0: 16 x = m // (basen ** i) 17 out.append(x) 18 19 m -= x * (basen ** i)20 i -= 1 21 22 return out 23 24 25 def dectobase60(n): 26 """ Convert decimal number to base-60 number """ 27 return dec2basen(n, 60)
。。。未完待續。。。