使用 Python 查詢 K 進位制數的數字之和的程式


假設我們有一個十進位制數 (基數 10) n ,還有另一個值 k ,我們必須在將給定的數字 n 從基數 10 轉換為基數 k 之後求出其數字總和。在計算數字和時,我們將把每個數字視為十進位制 (基數 10) 數。

因此,如果輸入像 n = 985 k = 8,則輸出為 12,因為八進位制中的數字 985 是 1731,因此數字和為 1+7+3+1 = 12。

為了解決這個問題,我們將遵循以下步驟 −

  • ans := 0

  • 當 n >= k,執行

    • ans := ans + n mod k

    • n := n/k 的商

  • ans := ans + n

  • 返回 answer

讓我們看看以下實現以獲得更好的理解 −

示例

 線上演示

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

更新於: 2021 年 05 月 29 日

624 次瀏覽

開啟您的職業生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.