C#算法設(shè)計(jì)之關(guān)于1000瓶水的問(wèn)題
本文實(shí)例講述了C#算法設(shè)計(jì)之關(guān)于1000瓶水的問(wèn)題。分享給大家供大家參考。具體如下:
題目如下:假設(shè)有N瓶水(當(dāng)然N>0吧)
每喝一瓶后可以得到的一個(gè)空瓶子
而 每3個(gè)空瓶子又能換1瓶水,喝掉以后又得到一個(gè)空瓶子,
問(wèn)總共能喝多少瓶水,最后還剩余多少個(gè)空瓶子?
代碼如下:
private int Water(int n, int emptyQty) { Console.WriteLine("喝了" + n + "瓶水,多" + emptyQty + "個(gè)空瓶子."); if (n + emptyQty < 3) //如果喝完水+空瓶還沒(méi)有3的話,那就喝完了 { Console.WriteLine("多" + (n + emptyQty) + "個(gè)空瓶子."); return n; } int a = (n + emptyQty) / 3; //喝了可換a瓶水 int b = (n + emptyQty) % 3; //余幾個(gè)空瓶 return n + Water(a, b); }
假設(shè)起初是1000瓶的話,調(diào)用方法
int sum = Water(1000,0); Console.WriteLine("喝了" + sum + "瓶水");
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
C#將HashTable中鍵列表或值列表復(fù)制到一維數(shù)組的方法
這篇文章主要介紹了C#將HashTable中鍵列表或值列表復(fù)制到一維數(shù)組中方法,涉及C#操作HashTable的相關(guān)技巧,需要的朋友可以參考下2015-04-04C#實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建接口并調(diào)用的實(shí)例
這篇文章介紹了C#實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建接口并調(diào)用,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-11-11C#語(yǔ)法相比其它語(yǔ)言比較獨(dú)特的地方(二)
這篇文章主要介紹了C#語(yǔ)法相比其它語(yǔ)言比較獨(dú)特的地方(二),本文講解了internal與protected、private、enum、string的==、傳引用等內(nèi)容,需要的朋友可以參考下2015-04-04C#實(shí)現(xiàn)提高xml讀寫(xiě)速度的方法
這篇文章主要介紹了C#實(shí)現(xiàn)提高xml讀寫(xiě)速度的方法,并且針對(duì)各類文件的讀寫(xiě)做了較為細(xì)致的分析,非常實(shí)用,需要的朋友可以參考下2014-11-11C#反射實(shí)現(xiàn)插件式開(kāi)發(fā)的過(guò)程詳解
插件式架構(gòu),一種全新的、開(kāi)放性的、高擴(kuò)展性的架構(gòu)體系,插件式架構(gòu)設(shè)計(jì)好處很多,把擴(kuò)展功能從框架中剝離出來(lái),降低了框架的復(fù)雜度,讓框架更容易實(shí)現(xiàn),這篇文章主要介紹了C#反射實(shí)現(xiàn)插件式開(kāi)發(fā),需要的朋友可以參考下2023-09-09