解题思路:
每次换购的瓶子a = bottle / 3
每次换购以后剩下的空瓶数为b
b= bottle / 3 + bottle % 3
以上两部进行循环
对a进行累加计数
用b来循环控制,并对b==2时候对累加器再加1
参考代码:
#include<stdio.h> int bottle_count(int bottle); int main() { int bottle, exchange_bottle[10],i = 0; scanf("%d",&bottle); while(bottle != 0) { exchange_bottle[i++] = bottle_count(bottle); scanf("%d",&bottle); } for(int j = 0 ; j < i ; j ++) { printf("%d\n",exchange_bottle[j]); } return 0; } int bottle_count(int bottle) { int havedrink = 0 , nowdrink; while(bottle > 1) { nowdrink = bottle / 3; //每次可以换购的数量 bottle = nowdrink + bottle % 3; //喝完后余下的空瓶 havedrink += nowdrink; //对换购的进行累加 if(bottle == 2) //如果还剩下两瓶再向店家要一瓶后喝完抵一瓶 { havedrink++; break; } } return havedrink; }
0.0分
1 人评分