饮料换购

来源:互联网 发布:大学生逃课数据 编辑:程序博客网 时间:2024/04/28 23:13
饮料换购


乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去(但不允许暂借或赊账)。


请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的n瓶饮料,最后他一共能喝到多少瓶饮料。


输入:一个整数n,表示开始购买的饮料数量(0<n<10000)
输出:一个整数,表示实际得到的饮料数


例如:
用户输入:100  33*3+1  34
100
程序应该输出:
149


用户输入:
101
程序应该输出:

151


代码如下

#include<stdio.h>int tot;void dfs(int n){if(n<3)return;//当剩下瓶盖数小于3时,递归结束int a=n/3;//手中瓶盖可int b=n%3;//换完饮料剩下瓶盖数tot+=a;dfs(a+b);//最后剩下瓶盖数即为a(换的饮料数)+b(换完饮料剩下瓶盖数)} int main(){scanf("%d",&tot);dfs(tot);printf("%d\n",tot);return 0;}