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 17 hay không trong Python


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

Ví dụ, nếu đầu vào là 99943, 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 trừ lặp lại: trích xuất chữ số cuối cùng của số và trừ nó 5 lần từ số còn lại cho đến khi thu được một số hai chữ số chia hết cho 17.

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
    • number := phần nguyên của (number / 10)
    • number := number - last_digit * 5
  • Trả về True nếu number mod 17 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 * 5
    return (number % 17 == 0)

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

Đầu vào

99943

Đầu ra

Chia hết