买了10瓶酒,如果4个酒盖子或2个空酒瓶子可换1瓶酒,那么你最多可以喝几瓶酒?

过年在家时,我弟给我出了个题,他说:“你买了10瓶酒,如果4个酒盖子或2个空酒瓶子可换1瓶酒,那么你最多可以喝几瓶酒?”于是我写了一下程序来计算。

// 4个盖子或两个瓶子可以换一瓶酒
static void Main(string[] args)
{
// 一开始的酒数量
int wineCount = 10;
// 当前瓶子数量
int bottleCount = wineCount;
// 当前瓶盖数量
int capCount = wineCount;
// 得到的酒数量
int getWine = wineCount;
// 喝到的酒数量
int getAllWine = wineCount;
getAllWine = GetWineCount(bottleCount, capCount, getWine, getAllWine);
Console.WriteLine($"喝到的酒数量:{getAllWine}");
Console.ReadKey();
}
/// <summary>
///
/// </summary>
/// <param name="bottleCount">瓶子数</param>
/// <param name="capCount">瓶盖数</param>
/// <param name="getWine">得到的酒数量</param>
/// <returns></returns>
static int GetWineCount(int bottleCount, int capCount, int getWine, int getAllWine)
{
if (bottleCount >= 2 || capCount >= 4)
{
getWine = bottleCount / 2 + capCount / 4;
getAllWine += getWine;
bottleCount = bottleCount % 2 + getWine;
capCount = capCount % 4 + getWine;
getAllWine = GetWineCount(bottleCount, capCount, getWine, getAllWine);
}
return getAllWine;
}
posted @   一纸年华  阅读(7)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示