gpt4 book ai didi

python - 将数字的基数更改为给定数字

转载 作者:太空宇宙 更新时间:2023-11-04 07:00:23 25 4
gpt4 key购买 nike

我必须编写一个递归函数,它在 10 基数中获取一个数字 (n) 并将其转换为给定的数字基数 (k) 并返回一个列表,其组件是最终数字,例如 f (5, 3) 必须产生 [1, 2] 以 3 为基数的 5 是 12,或者 f(22, 3) 必须产生 [2, 1, 1].

这是我试过的代码:

def cb(n, k):
b = []
if n == 0:
b.append(0)
if n < k:
b.append(n)
if n == k:
b.append(10)
else:
a = n // k
b.append(n - ((n // k) * k))
if a < k:
b.append(a)
else:
cb(a, k)

return b

print(cb(22, 3))

其实我想了很多,但是因为我不太擅长写代码,所以我不能再进一步了。感谢您对我的代码的帮助和修改。

最佳答案

如果您从递归的角度考虑,基本情况是 n < k。答案是n并获取 n 的最后一位数字你做n%k所以递归的情况是cb(n//k,k)+[n%k] .

代码看起来像这样:

def cb(n, k):
if n < k:
return [n]
else:
return cb(n//k, k) + [n%k]

print(cb(22, 3))

关于python - 将数字的基数更改为给定数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33487873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com