สมมติว่าเรามีจำนวน 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