编程语言
首页 > 编程语言> > [Python学习笔记-012]古巴比伦人的乘法表

[Python学习笔记-012]古巴比伦人的乘法表

作者:互联网

问题:我们知道,古巴比伦人采用的六十进制。那么,如果为古巴比伦人绘制一张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)

 

。。。未完待续。。。

标签:10,Python,number,basen,012,古巴比伦,乘法表,十进制,out
来源: https://www.cnblogs.com/idorax/p/15869464.html