使用 Python 在基数 K 中查找数字总和的程序

假设我们在十进制数系统(基数为 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