阿里巴巴的食堂搞活动促销,已知某饮料1瓶3元钱,4个瓶盖可以换一瓶,2个空瓶可以换一瓶,则30元最多可以喝几瓶。
输入:
A //A表示饮料单价
B //B表示瓶盖换瓶比
C //C表示空瓶换瓶比
D //D表示给定的钱数
输出:S
例:
输入:
3
4
2
30
输出:
35
#include <stdio.h>
#include<iostream>
using namespace std;
int main()
{
int price, topToBottle, emptyToBottle, money;
while (scanf("%d%d%d%d", &price, &topToBottle, &emptyToBottle, &money) != EOF)
{
int emptyCnt = 0, topCnt = 0, drinkCnt = 0;
while (money > 0)
{
money -= price;
emptyCnt++;
topCnt++;
drinkCnt++;
}
while (true)
{
if (emptyCnt >= emptyToBottle)
{
emptyCnt -= emptyToBottle;
emptyCnt++;
drinkCnt++;
topCnt++;
}
if (topCnt >= topToBottle)
{
topCnt -= topToBottle;
emptyCnt++;
drinkCnt++;
topCnt++;
}
if (emptyCnt < emptyToBottle && topCnt < topToBottle)
{
break;
}
}
printf("%d", drinkCnt);
}
return 0;
}
网友评论