C語言編程學(xué)習(xí)之遞歸法解決5猴子分桃問題

C語言是面向過程的,而C++是面向?qū)ο蟮? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? C和C++的區(qū)別:

C是一個(gè)結(jié)構(gòu)化語言国葬,它的重點(diǎn)在于算法和數(shù)據(jù)結(jié)構(gòu)趋翻。C程序的設(shè)計(jì)首要考慮的是如何通過一個(gè)過程,對(duì)輸入(或環(huán)境條件)進(jìn)行運(yùn)算處理得到輸出(或?qū)崿F(xiàn)過程(事務(wù))控制)燃辖。

C++鬼店,首要考慮的是如何構(gòu)造一個(gè)對(duì)象模型,讓這個(gè)模型能夠契合與之對(duì)應(yīng)的問題域黔龟,這樣就可以通過獲取對(duì)象的狀態(tài)信息得到輸出或?qū)崿F(xiàn)過程(事務(wù))控制妇智。 所以C與C++的最大區(qū)別在于它們的用于解決問題的思想方法不一樣。之所以說C++比C更先進(jìn)氏身,是因?yàn)椤?設(shè)計(jì)這個(gè)概念已經(jīng)被融入到C++之中 ”巍棱。

C與C++的最大區(qū)別:在于它們的用于解決問題的思想方法不一樣。之所以說C++比C更先進(jìn)蛋欣,是因?yàn)椤?設(shè)計(jì)這個(gè)概念已經(jīng)被融入到C++之中 ”航徙,而就語言本身而言,在C中更多的是算法的概念陷虎。那么是不是C就不重要了到踏,錯(cuò)杠袱!算法是程序設(shè)計(jì)的基礎(chǔ),好的設(shè)計(jì)如果沒有好的算法窝稿,一樣不行楣富。而且,“C加上好的設(shè)計(jì)”也能寫出非常好的東西伴榔。


問題:海灘上有一堆桃子纹蝴,五只猴子來分。第一只猴子把這堆桃子憑據(jù)分為五份踪少,多了一個(gè)塘安,這只猴子把多的一個(gè)扔入海中,拿走了一份秉馏。第二只猴子把剩下的桃子又平均 分成五份耙旦,又多了一個(gè),它同樣把多的一個(gè)扔入海中萝究,拿走了一份免都,第三、第四帆竹、第五只猴子都是這樣做的绕娘,問海灘上原來最少有多少個(gè)桃子?

小編推薦一個(gè)學(xué)C語言/C++的學(xué)習(xí)裙【? 六九九栽连,四七零险领,五九六? 】,無論你是大牛還是小白秒紧,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)绢陌!裙內(nèi)有開發(fā)工具,很多干貨和技術(shù)資料分享熔恢!

分析:采用遞歸算法脐湾。設(shè)桃子總數(shù)為N,則

第一個(gè)猴子拿走的是M1=(N-1)/5叙淌;

第二個(gè)猴子拿走的是M2= (M1-1)/ 5 ;

第三個(gè)猴子拿走的是M3= (M2-1)/ 5 ;

依此類推秤掌,第n個(gè)猴子拿走的桃子是

M(n) = (M(n-1)-1)/5;

軟件實(shí)現(xiàn):

#include

int nCounter = 0;

int f(int nNum)

{

int nTmp = nNum - 1;

if((0 == (nTmp%5)) && (nCounter < 5 ))

{

nCounter ++ ;

return f(nTmp/5*4);

}

else

return nNum;

}

int main(int argc,char *argv[])

{

for(int i=1;;i++)

{

if((i-1)%5==0) //代碼優(yōu)化

{

小編推薦一個(gè)學(xué)C語言/C++的學(xué)習(xí)裙【? 六九九,四七零鹰霍,五九六? 】闻鉴,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)茂洒!裙內(nèi)有開發(fā)工具孟岛,很多干貨和技術(shù)資料分享!

nCounter = 0;

if( f(i)!=-1 && nCounter==5)

{

printf("總共有 %d 個(gè)桃子 ",i);

break;

}

}

}

return 0;

}

VC6.0下編譯輸出:

小編推薦一個(gè)學(xué)C語言/C++的學(xué)習(xí)裙【? 六九九,四七零蚀苛,五九六? 】在验,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)堵未!裙內(nèi)有開發(fā)工具腋舌,很多干貨和技術(shù)資料分享!

這些是C/C++能做的

服務(wù)器開發(fā)工程師渗蟹、人工智能块饺、云計(jì)算工程師、信息安全(黑客反黑客)雌芽、大數(shù)據(jù) 授艰、數(shù)據(jù)平臺(tái)、嵌入式工程師世落、流媒體服務(wù)器淮腾、數(shù)據(jù)控解、圖像處理屉佳、音頻視頻開發(fā)工程師谷朝、游戲服務(wù)器、分布式系統(tǒng)武花、游戲輔助等


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末圆凰,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子体箕,更是在濱河造成了極大的恐慌专钉,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件累铅,死亡現(xiàn)場(chǎng)離奇詭異跃须,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)娃兽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門回怜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人换薄,你說我怎么就攤上這事∠枋裕” “怎么了轻要?”我有些...
    開封第一講書人閱讀 162,995評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長垦缅。 經(jīng)常有香客問我冲泥,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,223評(píng)論 1 292
  • 正文 為了忘掉前任凡恍,我火速辦了婚禮志秃,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘嚼酝。我一直安慰自己浮还,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評(píng)論 6 388
  • 文/花漫 我一把揭開白布闽巩。 她就那樣靜靜地躺著钧舌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪涎跨。 梳的紋絲不亂的頭發(fā)上洼冻,一...
    開封第一講書人閱讀 51,208評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音隅很,去河邊找鬼撞牢。 笑死,一個(gè)胖子當(dāng)著我的面吹牛叔营,可吹牛的內(nèi)容都是我干的屋彪。 我是一名探鬼主播,決...
    沈念sama閱讀 40,091評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼审编,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼撼班!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起垒酬,我...
    開封第一講書人閱讀 38,929評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤砰嘁,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后勘究,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體矮湘,經(jīng)...
    沈念sama閱讀 45,346評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評(píng)論 2 333
  • 正文 我和宋清朗相戀三年口糕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了缅阳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,739評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡景描,死狀恐怖十办,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情超棺,我是刑警寧澤向族,帶...
    沈念sama閱讀 35,437評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站棠绘,受9級(jí)特大地震影響件相,放射性物質(zhì)發(fā)生泄漏再扭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評(píng)論 3 326
  • 文/蒙蒙 一夜矗、第九天 我趴在偏房一處隱蔽的房頂上張望泛范。 院中可真熱鬧,春花似錦紊撕、人聲如沸罢荡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽柠傍。三九已至,卻和暖如春辩稽,著一層夾襖步出監(jiān)牢的瞬間惧笛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評(píng)論 1 269
  • 我被黑心中介騙來泰國打工逞泄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留患整,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,760評(píng)論 2 369
  • 正文 我出身青樓喷众,卻偏偏與公主長得像各谚,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子到千,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 【程序1】 題目:古典問題:有一對(duì)兔子昌渤,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長到第三個(gè)月后每個(gè)月又生一對(duì)兔...
    葉總韓閱讀 5,134評(píng)論 0 41
  • 50道經(jīng)典Java編程練習(xí)題憔四,將數(shù)學(xué)思維運(yùn)用到編程中來膀息。抱歉哈找不到文章的原貼了,有冒犯的麻煩知會(huì)聲哈~ 1.指數(shù)...
    OSET我要編程閱讀 6,960評(píng)論 0 9
  • 我能說有點(diǎn)不習(xí)慣用手機(jī)來寫文章了嗎了赵?哎潜支,人呀,可真是個(gè)習(xí)慣性的動(dòng)物柿汛。想想剛開始的時(shí)候冗酿,要用電腦登陸公眾號(hào)然后寫文章...
    紫菀花園閱讀 323評(píng)論 2 1
  • I read some massage just now.I am quite shocked. It is no...
    Tiffany_的早餐閱讀 336評(píng)論 0 0
  • 2009-12-05 04:00:42 摘自巴菲特在伯克希爾·哈撒韋2009年度股東大會(huì)上的談話: 投資教育只需要...
    大大花生閱讀 337評(píng)論 0 1