Problem: F
Problem Description
来来来,做道题,一起防老年痴呆。啤酒2元一瓶,4个瓶盖换一瓶,2个空瓶换一瓶。问:n元可换几瓶。不可以赊账不可以买半瓶酒.
Input
多组数据,输入文件第一行是一个整数T,接下来T行,每行一个整数n(0<=n<=10000000)
Output
问最多能够得到多少瓶啤酒
Sample Input
2010
Sample Output
015
Source
Hint
No Hint!
按照题目意思进行模拟
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
int t,a,b,c,d,c1,d1,n,sum;
scanf("%d",&t);
while(t--)
{
sum=0;
scanf("%d",&n);
a=n/2;
b=a;
sum+=a;
while(1)
{
if(a>=2)
{
int s=a/2;
sum+=s;
a=a-2*s+s;
b+=s;
}
if(b>=4)
{
int ss=b/4;
sum+=ss;
b=b-4*ss+ss;
a+=ss;
}
if(a<2&&b<4)
break;
}
printf("%d\n",sum);
}
return 0;
}