是的,类似的东西。本质上,您希望保持除以3,然后收集余数。其余的则组成最终的数字。在Python中,您可以
divmod用来划分和收集余数。
def ternary (n): if n == 0: return '0' nums = [] while n: n, r = divmod(n, 3) nums.append(str(r)) return ''.join(reversed(nums))
例子:
>>> ternary(0)'0'>>> ternary(1)'1'>>> ternary(2)'2'>>> ternary(3)'10'>>> ternary(12)'110'>>> ternary(22)'211'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)