题目描述
乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去,但不允许赊账。
请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的n瓶饮料,最后他一共能得到多少瓶饮料。
输入格式
一个整数n,表示开始购买的饮料数量(0<n<10000)
输出格式
一个整数,表示实际得到的饮料数
输入输出样例
输入
1.100
2.101
输出
1.149
2.151
#include<stdio.h>
int fun(int a) //函数的作用是来计算通过换购获得的饮料,不包括最初始的n瓶
{
if(a>=3) //a>=3 说明还可以换购
return a/3+fun(a/3+a%3); // a/3表示你这次换购的饮料数
//(a/3+a%3)就是你上次换购来的(有了新瓶盖)加上上次因为不足3个没去换购的 组起来又去换购
else
return 0;
}
int main(){
int n;
scanf("%d",&n);
printf("%d",n+fun(n));
return 0;
}