新猴王的選擇方法是:讓N只候選猴子圍成一圈,從某位置起順序編號(hào)為1~N號(hào)。從第1號(hào)開始報(bào)數(shù),每輪從1報(bào)到3,凡報(bào)到3的猴子即退出圈子,接著又從緊鄰的下一只猴子開始同樣的報(bào)數(shù)。
創(chuàng)新互聯(lián)公司長(zhǎng)期為千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為市南企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì),市南網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
void InitJCycle(JosephusCycle &last, int n) { //初始化一個(gè)含有n個(gè)孩子的約瑟夫環(huán),用帶尾指針last的單循環(huán)鏈表表示,建表時(shí)采用首插法。
http:// 這是約瑟夫環(huán)的問題,上面有鏈接。
1、你不應(yīng)該在被調(diào)函數(shù)中定義m=1 不然當(dāng)你反復(fù)調(diào)用被調(diào)函數(shù)是 m都會(huì)被重新賦值。
2、所以f(n) = 2 * f(n - 1) + 2 例如:第m天剩余10個(gè)桃子,吃掉一半加一個(gè)得到4個(gè),此時(shí)下天是4個(gè)桃子,接著吃掉一半加一個(gè)得到1個(gè),再下一天是1個(gè)桃子。
3、第6天:(22+1)*2=46 第5天:(46+1)*2=94 第4天:(94+1)*2=190 第3天:(190+1)*2=382 第2天:(382+1)*2=766 第1天:(766+1)*2=1534 1534\2+1=768 所以第一天共摘768個(gè)桃子。
4、程序分析:采取逆向思維的方法,從后往前推斷。
假設(shè)第一天有a1個(gè)桃,第二天有a2個(gè),……,第九天有a9個(gè),第10天有a10個(gè)。
傳遞進(jìn)去的參數(shù)要變化,滿足條件調(diào)用自身,不滿足條件就開始一層一層返回。
1,遞歸的終止點(diǎn),即遞歸函數(shù)的出口 2,不斷的遞歸調(diào)用自身 3,遞歸函數(shù)主體內(nèi)容,即遞歸函數(shù)需要做的事情 ps:3一般可以放在2的前面或者后面,一般1放最前面。
);return 0;} 在這個(gè)遞歸函數(shù)中,我們使用了一個(gè)基本情況,即當(dāng)n等于0時(shí),返回0作為遞歸的終止條件。在其他情況下,我們使用for循環(huán)計(jì)算1/1+2+3+...+n的值,然后通過遞歸調(diào)用求解sum(n-1),最后將兩個(gè)結(jié)果相加。
首先是要這個(gè)求解的問題,適合用遞歸方法來進(jìn)行求解。找到這個(gè)遞歸解法結(jié)束遞歸的條件。遞歸函數(shù)中,首先第一個(gè)語句就是如果滿足遞歸條件,就直接返回確定的值,否則返回使用遞歸方法求解的表達(dá)式。
文章題目:c語言猴子函數(shù)遞歸 猴子偷桃c語言遞歸
文章源于:http://vcdvsql.cn/article4/dcgohoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、網(wǎng)站營(yíng)銷、電子商務(wù)、網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、移動(dòng)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容