Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมหาผลรวมของตัวเลขในฐาน K โดยใช้ Python


สมมติว่าเรามีตัวเลข n ในระบบเลขฐานสิบ (ฐาน 10) มีค่าอื่น k เราต้องหาผลรวมของหลัก n หลังจากแปลงตัวเลขที่กำหนด n จากฐาน 10 เป็นฐาน k เมื่อเราคำนวณผลรวมหลัก เราจะถือว่าแต่ละหลักเป็นเลขฐานสิบ (ฐาน 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