假设我们有一个数字n。在此,n表示n个完整的啤酒瓶。如果我们可以将3个空啤酒瓶换成1完整的啤酒瓶,则必须找到可以饮用的啤酒瓶数量。
因此,如果输入为10,则输出为14。
为了解决这个问题,我们将遵循以下步骤-
定义一个函数solve()
,将花费n,
ret:= 0
当n> = 3时,-
q:= n / 3
ret:= ret + q * 3
n:= n-q * 3
n:= n + q
ret:= ret + n
返回ret
让我们看下面的实现以更好地理解-
#include <bits/stdc++.h> using namespace std; class Solution { public: int solve(int n) { int ret = 0; while(n >= 3){ int q = n / 3; ret += q * 3; n -= q * 3; n += q; } ret += n; return ret; } }; main() { Solution ob; cout << ob.solve(10); }
10
输出结果
14