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; }