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

ตรวจสอบว่าตัวเลขทุกหลักของจำนวนหารจำนวนนั้นลงตัวหรือไม่ใน Python


สมมติว่าเรามีจำนวน n เราต้องตรวจสอบว่าตัวเลขทุกหลักของมันสามารถหาร n ลงตัวได้หรือไม่

เช่น ถ้าอินพุตเป็น n = 135 ผลลัพธ์จะเป็น True เนื่องจาก (135 / 1 = 135), (135 / 3 = 45) และ (135 / 5 = 27)

ในการแก้ปัญหานี้ เราจะทำตามขั้นตอนดังนี้:

  • val := n
  • while val > 0 ทำ
    • d := val mod 10
    • ถ้า n ไม่หาร d ลงตัว แล้ว
      • คืนค่า False
    • val := ผลหารของ (val / 10)
  • คืนค่า True

ลองดูการนำไปใช้ดังต่อไปนี้เพื่อเข้าใจได้ดียิ่งขึ้น:

ตัวอย่าง

def is_divisible(n, d):
    return d != 0 and n % d == 0

def solve(n):
    val = n
    while (val > 0):
        d = val % 10
        if not is_divisible(n, d):
            return False
        val = val // 10
    return True

n = 135
print(solve(n))

อินพุต

135

ผลลัพธ์

True