【C# 练习】3个可乐瓶可以换一瓶可乐,现在有364瓶可乐。问一共可以喝多少瓶可乐,剩下几个空瓶?

题目:3个可乐瓶可以换一瓶可乐,现在有364瓶可乐。

问:一共可以喝多少瓶可乐,剩下几个空瓶!

首先先看题目 这是道数学题

(好家伙 真没想到还有数学问题qaq)

现在拿出草稿纸一起写:

个可乐瓶可以换 瓶可乐,

那么 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);

运行结果是这样子的:

 

 制作不易,来个一键三连叭!!

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值