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

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


สมมติว่าเรามีจำนวน n ในฐานสิบ (base 10) และค่า k เราต้องหาผลรวมของตัวเลขของ n หลังจากแปลงจากฐาน 10 เป็นฐาน k เมื่อคำนวณผลรวมตัวเลข เราจะถือแต่ละตัวเลขเป็นฐานสิบ

เช่น n = 985 k = 8 ผลลัพธ์คือ 12 เพราะ 985 ในฐาน 8 คือ 1731 ผลรวม 1+7+3+1 = 12

ขั้นตอนการแก้ปัญหา

  • ans = 0
  • while n ≥ k:
    • ans += n % k
    • n = n // k
  • 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

ข้อมูลออก

12