Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Kiểm tra số có chứa số 0 liên tiếp trong cơ số cho trước bằng Python


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_zero nhận số và cơ số.

  • Phương thức convert_to_base chuyể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_n kiể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_zero với N và K.

  • Hiển thị kết quả ra bảng điều khiển.