原理
使用递归。本题也可以使用逻辑推理得出简便解法,不做赘述。
复习递归,逻辑关系在于喝完了的空瓶子又可以重新兑换(调用递归),递归终止的条件是:只剩两个空瓶子,最后抵账,不能继续兑换。
my code
#include<iostream>
using namespace std;
int solution(int n){
int cnt = 0;
if(n==2) cnt++;
if(n>2) cnt = n/3 + solution(n%3 + n/3);
return cnt;
}
int main(){
int N;
while(cin >> N){
if(!N) break;
int i = solution(N);
cout << i << endl;
}
}
京公网安备 11010502036488号