问题:我们知道,古巴比伦人采用的六十进制。那么,如果为古巴比伦人绘制一张59x59的乘法表,该如何实现呢?
通过Python实现并不复杂,但关键步骤有二:
在实现上述关键步骤之前,我们先看看古巴比伦人的符号数字。
在上述符号系统中,一把小钥匙表示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)
。。。未完待续。。。