日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

m苹果放n篮子_m个苹果放入n个篮子

發布時間:2023/12/18 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 m苹果放n篮子_m个苹果放入n个篮子 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目 :X個相同的蘋果放入Y個籃子,

(1)籃子可以為空 ,籃子不同。 放法有C(X+Y-1,Y-1 );//

(2)籃子不可以為空,籃子不同.放法有C(X-1,Y-1)?//插擋板法

分析有了這個組合公式,參考我的 求組合數程序即可解決問題。

(3)籃子可以為空,籃子相同。按上面程序求解 遞推公式dp[i][j]=dp[j-i][i]+dp[j][i-1]

#if 0

/*m個相同的蘋果放入n個相同的籃子,籃子可以為空。

下面兩種方法求解,動態規劃和遞歸。但都須知:

dp[0][j]=0;含義為:j(j>0)個蘋果放入0個籃子,沒有地方放,放法為0.

dp[i][0]=1;0個蘋果放入i個籃子,每個籃子都為空,放法為1.

dp[0][0]=1;當然,0個蘋果放到0個籃子放法為1.即0!=1;

還有 dp[i][j],i>j時,即籃子數大于蘋果數是dp[i][j]=dp[j][j],含義為 把2個蘋果放到5個籃子的放法和把2個蘋果放到2個籃子放法數相同。*/

int dp[100][100];//全局,默認初始化為0

intn,m;intmain()

{

m=5;n=3;inti,j;//全局變量默認初始化為0可以無需初始化了。//for (j=0;j

dp[0][0] = 1;for(i = 1; i <= n; ++i)//籃子

for( j =0; j <= m; ++j)//蘋果

{if(j>=i)

{

dp[i][j]= dp[i][j-i] + dp[i-1][j];

cout<

cout<

}else{

dp[i][j]= dp[j][j];

cout<

cout<

}

cout<

}

cout<

return 0;

}#endif

//遞歸求解#if 0

int fun(int n,int m)

{

if (n==0&&m!=0)//籃子為空

return 0;

else if (m==0)

{

return 1;

}

else if (m>=n)

{

return fun(n,m-n)+fun(n-1,m);

}

else

return fun(m,m);

}intmain()

{int n=3,m=7;

cout<

}#endif

測試數據: 3 7 count=8

3 5 count=5

(4)籃子不可以為空,籃子相同。沒有遞推公式:但是dp[X][Y]=dp[X-Y][Y], 計算dp[X-Y][Y]可以用(3)中遞推公式。

下面求解(4)的情況

//籃子不可以為空,即m>=n;

int count=0;int fun(int n,intm)

{if (n==0&&m!=0)//籃子為空

count=0;else if (m==0)

{

count=1;

}else if (m>=n)

{

count=fun(n,m-n)+fun(n-1,m);

}elsecount=fun(m,m);returncount;

}intmain()

{int n=3,m=7;

fun(n,m-n);

cout<

}

//測試數據: 3,5 count=2;

3,7 count=4;

數學模型為正整數的分拆

詳見組合數學書第二章

1、C(n,r) 從n個不同的球中取出r個,放進r個相同的 盒子中,不許空盒,有多少種放法.

2、P(n,r) 從n個不同的球中取出r個,放進r個不相同 的盒子中,不許空盒,有多少種放法.

3、 r個相同的球放進n個不同的盒子中,允許 空盒,有多少種放法. 正整數的有序拆分

4 、n個無區別 的球放進r個無區別的盒子,允許空盒。正整數的無序拆分.

書上公式:

n拆分為m個無序的數:

1?????????????????? m=1或n=1

Q(n,m)= Q(n,n)??????????? m>n

1+Q(n,n-1)??? m=n

Q(n,m-1)+Q(n-m,m)

總結

以上是生活随笔為你收集整理的m苹果放n篮子_m个苹果放入n个篮子的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。