题目描述
乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去(但不允许暂借或赊账)。
请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的n瓶饮料,最后他一共能喝到多少瓶饮料。
输入
包含多组测试数据,每组测试数据为一个整数n,表示开始购买的饮料数量(0<n<10000)
输出
对每组输入单独输出一行,为一个整数,表示实际得到的饮料数
样例输入
100 101
样例输出
149 151
代码:
#include<stdio.h>
int main(){
int bottle,gai,count; //统计新换的瓶数,当前可用盖子数,换的总瓶数
int n;
while(scanf("%d",&n)!=EOF){
if(n>0 && n<10000){
gai=n; //初始有n个盖子,n瓶饮料
count=n;
for(bottle=gai/3;bottle>0;bottle=gai/3){ //可以换的瓶子数等于
//现有的盖子数/3,
//当bottle=0,表示没有足够的盖子换饮料了。
count= count+bottle; //统计瓶数
gai=gai-3*bottle+bottle; //新的盖子数等于
//原来盖子数-用来换瓶子的盖子数+换了瓶子后等到的盖子数
}
printf("%d\n",count);
}
}
return 0;
}