C ++中的啤酒瓶
假设我们有一个数字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