其他分享
首页 > 其他分享> > 喝啤酒喝出的数学问题

喝啤酒喝出的数学问题

作者:互联网

实验室常常会组织聚聚餐,聚餐时免不了会喝点啤酒,小明和小兵是一对活宝,关系很好,当然也常常会互相抬抬杠,话说他俩正好在一次聚会时为了谁该不该喝而抬杠,于是老师用一个问题给他们做了一次裁判,无论是谁先找出问题的答案,谁就有权要求另外一个人喝还是不喝。老师的问题是这样的:给你n元钱,让你去买啤酒喝,啤酒单价是2元一瓶,喝完一瓶啤酒会有一个空瓶和一个瓶盖,现在告诉你2个空瓶或者4个瓶盖都还可以换回一瓶啤酒,现在问题是最多可以喝几瓶啤酒。

Input
本问题有多组测试数据,每一组测试数据只有一行,即自然数数n(0<=n<=10000)表示钱数。

Output
对于每一组输入,输出也只有一行,即最多可以喝的啤酒瓶数。

Sample Input
2
4

Sample Output
1
3

#include<bits/stdc++.h>
using namespace std;
const int MAXN=100005;
int n,x,y,ans;
int main()
{
    while(scanf("%d",&n)!=EOF)
    {
        ans=n/2;
        x=n/2;
        y=n/2;
        while(x/2||y/4)
        {
            int temp=x/2+y/4;
            ans+=temp;
            x%=2;
            y%=4;
            x+=temp;
            y+=temp;
        }
        printf("%d\n",ans);
    }
    return 0;
}

标签:temp,喝啤酒,喝出,int,数学,ans,一瓶,空瓶,啤酒
来源: https://blog.csdn.net/weixin_44061561/article/details/94657012