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

Chương trình tìm số lượng chai nước tối đa có thể uống trong Python

Có n chai nước đầy, có thể đổi m chai rỗng lấy 1 chai đầy. Uống chai đầy biến thành chai rỗng. Tìm tối đa số chai có thể uống.

Ví dụ: n = 9, m = 3 → 13 (uống 9, đổi 9/3=3 chai đầy, uống 3, đổi 3/3=1 chai đầy, uống 1 → tổng 9+3+1=13).

Thuật toán

  • x = n, s = 0, k = 0.
  • Trong khi x ≥ m:
    • k = x % m
    • x = x // m
    • s = s + x
    • x = x + k
  • Trả về n + s.

Ví dụ (Python)

def solve(n, m):
    x = n
    s = 0
    k = 0
    while x >= m:
        k = x % m
        x = x // m
        s = s + x
        x = x + k
    return n + s

n = 9
m = 3
print(solve(n, m))

Đầu vào

9, 3

Đầu ra

13