C#:1000瓶汽水,每喝3瓶赚一瓶,最终喝了多少瓶,剩几个空瓶?
/* * 题目:共有1000瓶汽水 * 每喝完后一瓶得到的一个空瓶子 * 每3个空瓶子又能换1瓶汽水,喝掉以后又得到一个空瓶子,问总共能喝多少瓶汽水,最后还剩余多少个空瓶子? * */ 1 static void Main(){ 2 int qs = 1000; //1000瓶汽水 3 int kp = 0; //空瓶 4 int hd = 0; //喝掉 5 6 while(qs >= 1){ 7 kp++; 8 if(kp == 3){ 9 qs++;10 kp=0;11 }12 hd++;13 qs--;14 15 }16 Console.WriteLine("喝掉:{0}瓶\t空瓶:{1}个",hd,kp);17 }结果:
喝掉:1499瓶 空瓶:2个
逐推演算如下:
1000瓶汽水:
--------------------------
1000%3 = 333 1 一次性喝掉1000瓶,可以换333瓶汽水,余1个空瓶 = 喝掉了1000瓶汽水
333%3 = 111 0 333瓶汽水喝掉后换取111瓶汽水,余0个空瓶 = 共喝掉了1000+333 = 1333瓶汽水
111%3 = 37 0 111瓶汽水喝掉后换取37瓶汽水,余0个空瓶 = 共喝掉了1333+111 = 1444瓶汽水
37%3 = 12 1 37瓶汽水喝掉后换取12瓶汽水,余1个空瓶 = 共喝掉了1444+37 = 1481瓶汽水
12%3 = 4 0 12瓶汽水喝掉后换取4瓶汽水,余0个空瓶 =共喝掉了1481+12 = 1493瓶汽水
4%3 = 1 1 4瓶汽水喝掉后换取1瓶汽水,余1个空瓶 =共喝掉了1493+4 = 1497瓶汽水
1瓶汽水被喝掉,余1个空瓶 =共喝掉了1497+1 = 1498瓶汽水
空瓶累计为:4个,换1瓶汽水,余1个空瓶 =共喝掉了1498+1 = 1499瓶汽水
空瓶累计为:2个空瓶,无法兑换汽水 总计:1499瓶汽水,2个空瓶.
作者“左左”
补充:软件开发 , C# ,