Giả sử chúng ta có một số n. Chúng ta phải tìm giá trị dương nhỏ nhất x sao cho x chỉ gồm hai chữ số 9 và 0, và x là bội của n.
Vì vậy, nếu đầu vào là n =26, thì đầu ra sẽ là 90090.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- m:=9
- x:=1
- trong khi m không chia hết cho n, do
- x:=x + 1
- m:=thay thế tất cả các số 1 bằng số 9 ở dạng nhị phân của x
- trả về m dưới dạng số nguyên
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
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)) Đầu vào
26
Đầu ra
90090