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个空瓶.
Tags: 

延伸阅读

最新评论

发表评论