一、問題提出
問題:把m個蘋果放入n個盤子中,允許有的盤子為空,共有多少種方法?
注:
5,1,1和1 5 1屬同一種方法
m,n均小于10
二、算法分析
設f(m,n) 為m個蘋果,n個盤子的放法數(shù)目,則先對n作討論,
當n>m:必定有n-m個盤子永遠空著,去掉它們對擺放蘋果方法數(shù)目不產(chǎn)生影響。即if(n>m) f(m,n) = f(m,m)
當n<=m:不同的放法可以分成兩類:
有至少一個盤子空著,即相當于f(m,n) = f(m,n-1);
所有盤子都有蘋果,相當于可以從每個盤子中拿掉一個蘋果,不影響不同放法的數(shù)目,即f(m,n) = f(m-n,n).而總的放蘋果的放法數(shù)目等于兩者的和,即 f(m,n) =f(m,n-1)+f(m-n,n)
遞歸出口條件說明:
當n=1時,所有蘋果都必須放在一個盤子里,所以返回1;
當m==0(沒有蘋果可放)時,定義為1種放法;
三、程序設計
int appledivide(m,n);int main(){int m,n;printf("請輸入蘋果和盤子個數(shù)(均小于10): ");scanf("%d%d",&m,&n);if(m<10&&n<10){int result = appledivide(m,n);printf("將%d蘋果,放入%d個盤子,共有%d中方法",m,n,result);}elseprintf("蘋果或盤子個數(shù)應小于10");return 0;}int appledivide(m,n){ // 如果碟子只有1個,無論蘋果有多少個都只有一種放法if(m==0||n==1){return 1;}//如果碟子的個數(shù)大于蘋果的個數(shù)if(n>m){return appledivide(m,m);}else{return appledivide(m,n-1) + appledivide(m-n,n);}}
責任編輯:haq
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
C語言
+關注
關注
183文章
7644瀏覽量
145666 -
編程
+關注
關注
90文章
3716瀏覽量
97212
原文標題:C語言習題:蘋果裝盤問題!用遞歸如何求解?
文章出處:【微信號:cyuyanxuexi,微信公眾號:C語言編程學習基地】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
熱點推薦
示波器常見問題解答 (FAQ)
示波器是電子工程師不可或缺的“眼睛”,它能將看不見的電信號轉(zhuǎn)化為可視的波形圖像,幫助我們洞察電路的運行狀態(tài)。為了幫助您更高效、安全地使用這一工具,我們整理了以下常見問題與解答。 ? 1.
單片機c語言中定義字節(jié)怎么定義?
定義位可以用***it但是定義字節(jié)呢?還有就是比如匯編中的DPTR的DPH和DPL在c語言中怎樣定義的呢?
發(fā)表于 12-29 06:32
Typedef在C語言中的應用
Typedef 在C語言中頻繁用以聲明一個已經(jīng)存在的數(shù)據(jù)類型的同義字。也可以用預處理器做類似的事。例如,思考一下下面的例子:
#define dPS struct s *
typedef
發(fā)表于 12-22 13:53
四探針法測電阻的原理與常見問題解答
法甚至被用作校正其他方法的基準。下文,Xfilm埃利將系統(tǒng)闡述四探針法的基本原理,并對實際應用中遇到的常見問題進行詳細解答。四探針法測電阻的基本原理/Xfilm1
示波器問題解答干貨
第一問:示波器的波形代表什么意義? 一句話概括:水平坐標代表時間,垂直坐標代表電壓(一般是電壓),電壓隨時間變化的曲線就是示波器顯示的波形。 垂直坐標比較好理解,就是電壓的大小。水平坐標代表時間,有很多人被繞了進去,但是只要注意以下一點就可以了: 注意:示波器是一個實時工具,示波器顯示的,就是當前時刻正在發(fā)生的。 為什么要強調(diào)這個問題呢?因為曾經(jīng)有人問我:我的示波器怎么這么慢,顯示一條波形要等十幾秒鐘,作
晶科能源Tiger Neo 3.0的問題解答(1)
自晶科Tiger Neo 3.0 產(chǎn)品AI助手上線以來,后臺咨詢量飆升!看來大家對我們的旗艦產(chǎn)品——Tiger Neo 3.0 充滿了好奇與期待。我們認真梳理了大家問得最頻繁、最熱門的問題,進行解答
Windows環(huán)境下32位匯編語言中文資料
電子發(fā)燒友網(wǎng)站提供《Windows環(huán)境下32位匯編語言中文資料.rar》資料免費下載
發(fā)表于 06-30 15:14
?0次下載
汽車喇叭氣密性檢測儀常見問題解答
在汽車生產(chǎn)和檢測環(huán)節(jié),汽車喇叭氣密性檢測儀起著至關重要的作用。以下是一些關于它的常見問題解答。(1)檢測儀的精度受哪些因素影響?檢測儀的精度主要受環(huán)境因素、儀器本身的穩(wěn)定性以及被測喇叭的特性
變頻器與傳動使用的常見問題解答
變頻器與傳動系統(tǒng)作為工業(yè)自動化領域的核心設備,其穩(wěn)定運行直接影響生產(chǎn)效率和設備壽命。以下是針對實際應用中高頻問題的系統(tǒng)性解答,結合技術原理與現(xiàn)場經(jīng)驗,為從業(yè)者提供實用參考。 一、電機過熱問題解析 某
深入理解C語言:C語言循環(huán)控制
改變程序的執(zhí)行流程,使代碼更加靈活和可控。本文將詳細介紹這些語句的作用及其應用場景,并通過示例代碼進行說明。Part.1break語句C語言中break語句有兩種
C語言中蘋果裝盤問題解答
評論