假设我们在十进制数系统(基数为 10)中有一个数字 n 有另一个值 k,我们必须在将给定数字 n 从基数 10 转换为基数 k 后找到 n 的数字之和。当我们计算数字总和时,我们会将每个数字视为十进制(基数为 10)的数字。
所以,如果输入像 n = 985 k = 8,那么输出将是 12,因为八进制数 985 是 1731,所以数字和是 1+7+3+1 = 12。
为了解决这个问题,我们将按照以下步骤操作 -
答案:= 0
当 n >= k 时,做
ans := ans + n mod k
n := n/k 的商
ans := ans + n
返回答案
让我们看看以下实现以获得更好的理解 -
def solve(n, k): ans = 0 while n>=k: ans = ans + n%k n = n//k ans = ans+n return ans n = 985 k = 8 print(solve(n, k))
985,8输出结果
True