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
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
JavaScript
PHP