买了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;
}
本文来自博客园,作者:龙猫•ᴥ•,转载请注明原文链接:https://www.cnblogs.com/nullcodeworld/p/18210687

浙公网安备 33010602011771号