C# 练习3个可乐瓶可以换一瓶可乐,现在有364瓶可乐。问一共可以喝多少瓶可乐,剩下几个空瓶?
Posted CaiLin907
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 练习3个可乐瓶可以换一瓶可乐,现在有364瓶可乐。问一共可以喝多少瓶可乐,剩下几个空瓶?相关的知识,希望对你有一定的参考价值。
题目:3个可乐瓶可以换一瓶可乐,现在有364瓶可乐。
问:一共可以喝多少瓶可乐,剩下几个空瓶!
首先先看题目 这是道数学题
(好家伙 真没想到还有数学问题qaq)
现在拿出草稿纸一起写:
3 个可乐瓶可以换 1 瓶可乐,
那么 364 瓶可乐就可以换 364/3 瓶可乐(由于/两边都是整数,所以得到的结果一定也是整数),
剩下 364%3 瓶可乐换不了,因为不满3瓶了嘛~
所以第一波,
喝的总数就是:(喝的+换的)
364 + 364/3
364 +121 =485
剩下的空瓶就有:(换的+没够换剩下的)
364/3 + 364%3
121+ 1 = 122
再来第二波,
喝的总数就是:(第一波喝的+第一波剩下的空瓶/3)
(364 + 364/3)+(364/3 + 364%3)/ 3
485 + 122 / 3 = 525
剩下的空瓶就是:(第一波剩下的空瓶/3 + 第一波剩下的空瓶%3)
(364/3 + 364%3)/3+(364/3 + 364%3 )%3
122 / 3 + 122 % 3 = 42
这时候可以发现,喝的可乐会越来越多,剩下的空瓶会越来越少;
那么什么时候这个循环结束呢,就是空瓶不足以再换新的可乐的时候,也就是空瓶数量 < 3 的时候;
已知有364瓶可乐,那么设置可乐数量:int sum=364;
瓶子的数量:int ping = sum; //瓶子的数量和可乐数量是相同的
这时进行循环,只要瓶子的数量大于等于3(可以兑换新可乐),那么就执行循环;
while (ping >= 3)
sum += ping / 3;
ping = ping / 3+ ping % 3;
然后输出一共可以喝多少瓶可乐,剩下多少空瓶就可以了
源代码如下:
int sum = 364;
int ping = sum;
while (ping >= 3)
sum += ping / 3;
ping = ping / 3+ ping % 3;
Console.WriteLine("一共可以喝多少瓶可乐:" + sum + "\\n还剩多少瓶:" + ping);
运行结果如下:
这道题目主要是研究数学算法,逻辑还是需要好好学习的呀!
最后给题目添加了一个小功能,可以输入可乐的数量和兑换方式:
Console.WriteLine("现在有几瓶可乐?");
int sum = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("几瓶可乐能整一瓶?");
int value = Convert.ToInt32(Console.ReadLine());
int ping = sum;
while (ping >= value)
sum += ping / value;
ping = ping / value + ping % value;
Console.WriteLine("一共可以喝多少瓶可乐:" + sum + "\\n还剩多少瓶:" + ping);
运行结果是这样子的:
制作不易,来个一键三连叭!!
以上是关于C# 练习3个可乐瓶可以换一瓶可乐,现在有364瓶可乐。问一共可以喝多少瓶可乐,剩下几个空瓶?的主要内容,如果未能解决你的问题,请参考以下文章
C# 练习3个可乐瓶可以换一瓶可乐,现在有364瓶可乐。问一共可以喝多少瓶可乐,剩下几个空瓶?
2021-06-21:贩卖机只支持硬币支付,且收退都只支持10 ,50,100三种面额。一次购买只能出一瓶可乐,且投钱和找零都遵循优先使用大钱的原则,需要购买的可乐数量是m, 其中手头拥有的1050(