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