使用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