สมมติว่าเรามีตัวเลข 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