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

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

ภาพรวม

บทความนี้แสดงวิธีการตรวจสอบว่าเลขจำนวนมาก (large number) หารด้วย 19 ลงตัวหรือไม่ โดยใช้วิธี "การบวกซ้ำ" (repeated addition method) ซึ่งเป็นอัลกอริทึมที่มีประสิทธิภาพและไม่ต้องใช้การหารโดยตรงกับเลขใหญ่ทั้งหมด

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

  1. นำหลักสุดท้ายของเลขมาคูณด้วย 2
  2. นำผลคูณมาบวกกับเลขที่เหลือ (หลังจากตัดหลักสุดท้ายออก)
  3. ทำซ้ำขั้นตอน 1-2 จนกว่าเลขจะเหลือ 2 หลัก
  4. ตรวจสอบว่าเลข 2 หลักที่ได้ หาร 19 ลงตัวหรือไม่

ตัวอย่างโค้ด Python

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")

ผลลัพธ์

Divisible

คำอธิบายเพิ่มเติม

วิธีนี้ใช้หลักคณิตศาสตร์ว่า ถ้าเลข n หาร 19 ลงตัว แล้วเลขที่ได้จากการนำหลักสุดท้ายคูณ 2 มาบวกกับส่วนที่เหลือ ก็จะหาร 19 ลงตัวเช่นกัน ทำให้สามารถลดขนาดเลขลงเรื่อยๆ จนตรวจสอบได้ง่าย