如何将数字转换为 base9 中的等值数字,但要注意其 base9 没有“0”数字。
例如:
Base10 = 0, 1, 2, 3, .. 9, 10, 12 ... 28, 29, 30, ... 62, 63, 64, 等等
Base9 = N/A、1、2、3、.. 9、11、12 ... 31、32、33、... 68、69、71 等
我希望能够获取一个普通的十进制数(例如:10)并以 base9 形式返回它,忽略 0 位置(例如:11)。
我对 python 和编程都很陌生,更不用说我在数学方面缺乏知识,所以我的第一次尝试相当草率。它只适用于较小的数字,我感觉有一种更简单的方法可以做到这一点。
def base9(x):
count = 0
a = xrange(10,100,9)
while count != x:
if x < a[count]:
return x + count
count += 1
print base9(10)
最佳答案
将数字转换为普通基数9。然后将最低位数字加1,以及除了最高位数字之外的所有其他数字(这意味着当数字长度为1位时,我们为它加1 )。
例如
- 12 -> 13(正常基数 9) -> 14(修改基数 9)
- 9 -> 10(正常基数 9) -> 11(修改基数 9)
- 100 -> 121(正常基数 9) -> 132(修改基数 9)
关于python - 如何将 int 转换为以 9 为基数且不含 0 的 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18572534/