空瓶换酒
今天CSDN某群,里面有人发了一道挺有意思的题,这里贴一下。
为了防止老年痴呆,拿起笔来练一下吧!:)
这里不考虑跟老板赊账或者跟别人借的情况(如果考虑,答案为20)。不过那样问题就不太严谨了,比如我是否可以用别的东西抵押呢?
思路理清了,就可以用代码实现一下:
class Program { static void Main(string[] args) { //初始化钱数为10元 int money = 10; //剩下的空瓶a、剩下的瓶盖b、总共喝的瓶数c int a = 0, b = 0, c = 0; while (money > 0) { ++a; ++b; ++c; while (b >= 4) { ++a; ++b; ++c; b -= 4; } while (a >= 2) { ++a; ++b; ++c; a -= 2; } money -= 2; } Console.WriteLine("剩下空瓶{0},瓶盖{1},总共喝了{2}瓶", a, b, c); } }