标签:10 Python number basen 012 古巴比伦 乘法表 十进制 out
问题:我们知道,古巴比伦人采用的六十进制。那么,如果为古巴比伦人绘制一张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)
。。。未完待续。。。
标签:10,Python,number,basen,012,古巴比伦,乘法表,十进制,out 来源: https://www.cnblogs.com/idorax/p/15869464.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。