假设有n个装满的水瓶,我们可以用m个空水瓶换一个装满的水瓶。现在喝一个满的水瓶使它成为一个空瓶。我们必须找到我们可以喝的最大数量的水瓶。
所以,如果输入像 n = 9,m = 3,那么输出将是 13,因为最初我们有 9 瓶,所以在喝完所有瓶子后,我们可以得到 9/3 = 3 整瓶,喝完后我们有三个空瓶子,用它们我们可以买一个喝,所以我们完成了 9 + 3 + 1 = 13 瓶。
让我们看看以下实现以获得更好的理解 -
def solve(n, m): x=n s=0 k=0 while x >= m: k=x % m x=x // 米 s=s + x x=x + k return n + s n = 9 m = 3 print(solve(n, m))
9, 3输出结果
13