使用Python查找以基数K为基数的数字之和的程序

使用Python查找以基数K为基数的数字之和的程序

假设我们有一个十进制(基数10)中的数字n,并具有另一个值k,则我们必须在将给定数字n从基数10转换为基数k后找到n的每位数字的和。当我们计算数字和时,我们将每个数字视为十进制(基数10)数字。

因此,如果输入是n = 985 k = 8,则输出将是12,因为八进制中的数字985是1731,因此数字总和是1+7+ 3 + 1 = 12。

为了解决这个问题,我们将遵循以下步骤−

  • ans := 0

  • while n >= k, do

    • ans := ans + n mod k

    • n := n / k的商

  • ans := ans + n

  • 返回 ans

让我们看下面的实现,以获得更好的理解−

例子

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程