Khi cần kiểm tra xem một số có chứa các số 0 liên tiếp trong một cơ số (base) cụ thể hay không, ta định nghĩa một phương thức nhận số và cơ số làm tham số, và sử dụng phương thức khác để trả về "Yes" hoặc "No" tùy thuộc vào việc cơ số đó có xuất hiện hay không.
Ví dụ
def check_consecutive_zero(N, K):
my_result = convert_to_base(N, K)
if check_n(my_result):
print("Yes")
else:
print("No")
def convert_to_base(N, K):
weight = 1
s = 0
while N != 0:
r = N % K
N = N // K
s = r * weight + s
weight *= 10
return s
def check_n(N):
res = False
while N != 0:
r = N % 10
N = N // 10
if res == True and r == 0:
return False
if r > 0:
res = False
continue
res = True
return True
N, K = 8, 2
print("Số có chứa số 0 liên tiếp trong cơ số?")
check_consecutive_zero(N, K)
Kết quả
Số có chứa số 0 liên tiếp trong cơ số? No
Giải thích
Phương thức
check_consecutive_zeronhận số và cơ số.Phương thức
convert_to_basechuyển đổi số sang cơ số chỉ định.Dựa trên kết quả, trả về "Yes" hoặc "No".
Phương thức
check_nkiểm tra xem số có chứa 0 liên tiếp hay không.Giá trị N và K được định nghĩa.
Gọi
check_consecutive_zerovới N và K.Hiển thị kết quả ra bảng điều khiển.