สมมุติว่าเราได้รับจำนวนมากและต้องตรวจสอบว่าจำนวนนั้นหารด้วย 19 ลงตัวหรือไม่
ดังนั้นหากอินพุตเป็น 86982 เอาต์พุตจะเป็น "หารได้"
เราจะแก้ปัญหานี้โดยใช้วิธีการบวกซ้ำ โดยแยกหลักสุดท้ายออกจากตัวเลข คูณด้วย 2 แล้วบวกผลลัพธ์กับตัวเลขที่เหลือจนได้ตัวเลขสองหลักที่หารด้วย 19 ลงตัว
พี>เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- ในขณะที่จำนวนหารด้วย 100 ลงตัว ให้ทำ
- last_digit :=หมายเลข mod 10
- จำนวน :=มูลค่าพื้นของ (ตัวเลขหารด้วย 10)
- number :=number + last_digit * 2
- คืนค่า จริง หากม็อด 19 เท่ากับ 0
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
def solve(number) : while(number // 100) : last_digit = number % 10 number //= 10 number += last_digit * 2 return (number % 19 == 0) number = 86982 if solve(number) : print("Divisible") else : print("Not Divisible")
อินพุต
86982
ผลลัพธ์
Divisible