C++,简洁解法
#include <iostream> using namespace std; int main() { int taget=0; int n=0,zheng=0,yu=0,kong; while(cin>>taget) { kong=taget; if(taget==0) { break; } while(kong>3) { zheng=kong/3;//每次喝的数量 n=n+zheng; //目前喝了多少瓶 yu=kong%3; //目前剩下的空瓶子 kong=zheng+yu;//喝完的空瓶子 } n+=1;//喝完空瓶子小于还能借喝 if(taget==1) { n=0; //开始只有一个空瓶子就没得喝 } cout<<n<<endl; n=0; //把计数清空重新计数 } return 0; }