C#算法設(shè)計之關(guān)于1000瓶水的問題
更新時間:2015年01月30日 15:18:41 作者:ben wu
這篇文章主要介紹了C#算法設(shè)計之關(guān)于1000瓶水的問題,是一個比較經(jīng)典的算法問題,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了C#算法設(shè)計之關(guān)于1000瓶水的問題。分享給大家供大家參考。具體如下:
題目如下:假設(shè)有N瓶水(當(dāng)然N>0吧)
每喝一瓶后可以得到的一個空瓶子
而 每3個空瓶子又能換1瓶水,喝掉以后又得到一個空瓶子,
問總共能喝多少瓶水,最后還剩余多少個空瓶子?
代碼如下:
private int Water(int n, int emptyQty) { Console.WriteLine("喝了" + n + "瓶水,多" + emptyQty + "個空瓶子."); if (n + emptyQty < 3) //如果喝完水+空瓶還沒有3的話,那就喝完了 { Console.WriteLine("多" + (n + emptyQty) + "個空瓶子."); return n; } int a = (n + emptyQty) / 3; //喝了可換a瓶水 int b = (n + emptyQty) % 3; //余幾個空瓶 return n + Water(a, b); }
假設(shè)起初是1000瓶的話,調(diào)用方法
int sum = Water(1000,0); Console.WriteLine("喝了" + sum + "瓶水");
希望本文所述對大家的C#程序設(shè)計有所幫助。
相關(guān)文章
C#將HashTable中鍵列表或值列表復(fù)制到一維數(shù)組的方法
這篇文章主要介紹了C#將HashTable中鍵列表或值列表復(fù)制到一維數(shù)組中方法,涉及C#操作HashTable的相關(guān)技巧,需要的朋友可以參考下2015-04-04C#實現(xiàn)動態(tài)創(chuàng)建接口并調(diào)用的實例
這篇文章介紹了C#實現(xiàn)動態(tài)創(chuàng)建接口并調(diào)用,文中通過實例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-11-11