OJ22 空水瓶问题
#include <iostream>
using namespace std;
// 递归思路:三个瓶子换一瓶水+一个空瓶
// f(0) = 0;
// f(1) = 0;
// f(2) = 1;
// f(3) = 1;
// f(4) = f(2) + 1;
// f(5) = f(3) + 1;
int Rec (int num) {
if (num == 1) return 0;
if (num == 2) return 1;
return Rec(num-2) + 1;
}
int main() {
int n;
while (cin >> n) {
if (n == 0) {
break;
}
cout << Rec(n) << endl;
}
return 0;
}
查看19道真题和解析