สมมติว่าเรามีตัวเลข n และ k อีกจำนวนหนึ่ง เราต้องตรวจสอบว่าผลรวมของหลัก n ที่ตำแหน่งคี่ (จากด้านขวาไปด้านซ้าย) หารด้วย k ลงตัวหรือไม่
ดังนั้น หากอินพุตเป็น n =2416 k =5 ผลลัพธ์จะเป็น True เนื่องจากผลรวมของเลขคี่จากขวาไปซ้ายคือ 4 + 6 =10 ซึ่งหารด้วย 5 ลงตัว
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- ทั้งหมด :=0, ตำแหน่ง :=1
- ในขณะที่ n> 0 ทำ
- ถ้า pos เป็นเลขคี่
- รวม :=รวม + (n mod 10)
- n :=ผลหารของ (n / 10)
- pos :=pos + 1
- ถ้า pos เป็นเลขคี่
- ถ้าผลรวมหารด้วย k ลงตัว
- คืนค่า True
- คืนค่าเท็จ
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
โค้ดตัวอย่าง
def solve(n, k): total = 0 pos = 1 while n > 0: if pos % 2 == 1: total += n % 10 n = n // 10 pos += 1 if total % k == 0: return True return False n = 2416 k = 5 print(solve(n, k))
อินพุต
2416, 5
ผลลัพธ์
True