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

Kiểm tra xem số lớn có chia hết cho 19 hay không trong Python


Giả sử chúng ta được cho một số lớn và cần kiểm tra xem số đó có chia hết cho 19 hay không.

Ví dụ, nếu đầu vào là 86982, thì đầu ra sẽ là "Chia hết".

Chúng ta sẽ giải quyết bài toán này bằng phương pháp cộng lặp lại: trích xuất chữ số cuối cùng của số, nhân nó với 2, và cộng kết quả vào phần số còn lại cho đến khi thu được một số hai chữ số chia hết cho 19.

Các bước thực hiện như sau:

  • Trong khi số chia hết cho 100 (tức là số có ít nhất 3 chữ số), thực hiện:
    • last_digit := number mod 10 (lấy chữ số cuối)
    • number := phần nguyên của (number / 10) (loại bỏ chữ số cuối)
    • number := number + last_digit * 2 (cộng thêm 2 lần chữ số cuối)
  • Trả về True nếu number mod 19 bằng 0.

Xem ví dụ dưới đây để hiểu rõ hơn:

Ví dụ

def solve(number):
    while number // 100:
        last_digit = number % 10
        number //= 10
        number += last_digit * 2
    return (number % 19 == 0)

number = 86982
if solve(number):
    print("Chia hết")
else:
    print("Không chia hết")

Đầu vào

86982

Đầu ra

Chia hết