Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตรวจสอบว่าเลขใหญ่หาร 17 ลงตัวหรือไม่ใน Python

ภาพรวม

บทความนี้สาธิตวิธีตรวจสอบความหารลงตัวด้วย 17 โดยใช้ "วิธีการลบซ้ำ" (repeated subtraction method) ซึ่งคล้ายกับวิธีสำหรับ 19 แต่ใช้การลบแทนการบวก

หลักการทำงาน

  1. นำหลักสุดท้ายของเลขมาคูณด้วย 5
  2. ลบผลคูณออกจากเลขที่เหลือ (หลังจากตัดหลักสุดท้ายออก)
  3. ทำซ้ำจนกว่าเลขจะเหลือ 2 หลัก
  4. ตรวจสอบว่าเลข 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 ลงตัวเช่นกัน เหมาะสำหรับเลขขนาดใหญ่ที่ไม่สะดวกในการหารโดยตรง