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

โปรแกรมหาจำนวนคูณของ n ที่ประกอบด้วยเลข 9 และ 0 เท่านั้นใน Python

ให้ n หา x น้อยที่สุด > 0 ที่ประกอบด้วย 9 และ 0 เท่านั้น และหาร n ลงตัว

ตัวอย่าง: n=26 → 90090

ขั้นตอน (Binary Pattern Trick)

  1. m=9, x=1
  2. วนจน m % n == 0:
    • x += 1
    • m = int(bin(x)[2:].replace('1','9')) (แปลง Binary ของ x ให้ 1→9, 0→0)

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

def solve(n):
    m = 9
    x = 1
    while m % n != 0:
        x += 1
        m = int(bin(x)[2:].replace('1','9'))
    return m

n = 26
print(solve(n))  # Output: 90090

อินพุต

26

เอาต์พุต

90090