Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình tìm tổng các chữ số trong cơ sở K bằng Python

Giả sử ta có một số n trong hệ số thập phân (cơ số 10) có giá trị khác k, ta phải tìm tổng các chữ số của n sau khi chuyển số n đã cho từ cơ số 10 sang cơ số k. Khi tính tổng các chữ số, chúng ta sẽ coi mỗi chữ số là số thập phân (cơ số 10).

Vì vậy, nếu đầu vào là n =985 k =8, thì đầu ra sẽ là 12 vì số 985 trong hệ bát phân là 1731, vì vậy tổng chữ số là 1 + 7 + 3 + 1 =12.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • ans:=0

  • while n> =k, do

    • ans:=ans + n mod k

    • n:=thương số của n / k

  • ans:=ans + n

  • trả lại ans

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

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))

Đầu vào

985,8

Đầu ra

True