題目: 將m個蘋果放入n個籃子中,允許有籃子空著,請問一 共有幾種放法?(注意:不能出現重複的放法)
輸入: 第一行輸入需要測試的次數t, 0<=t<=20。第二行輸入蘋果的數量m和籃子的數量n,1<=m,n<=10。
輸出: 輸出一共有幾種放法。
試例: input:
1 7 3
output:
8
分析: 首先,蘋果和籃子的關係一共有三種,m>n, mm=n. 當m>n時:蘋果放進籃子有兩種情況,有空籃子和沒有空籃 子。 有空籃子時,可以先規定有乙個空籃子,則蘋果的放法為placing(m,n-1),依次類推,就可得出該情況下共有幾種 放法。 沒有空籃子時,每個籃子至少有乙個蘋果,所以此時的放法為placing(m-n,n),即可得出該情況下有多少種放法。
mm=n時: 此時也有兩種情況,每個籃子裡面都有乙個蘋果和至少有乙個籃子時空的,所以此時的放法為placing(m,n-1)+1;
#include
using
namespace
std;
int placing(int m,int n) //計算共有幾種放法
else
if(m>n)//當m>n時
else
if(mreturn placing(n,n);//m}
else
if(m==n)
}int main()
poj1664放蘋果 遞迴
放蘋果time limit 1000ms memory limit 10000k total submissions 23149 accepted 14694 description 把m個同樣的蘋果放在n個同樣的盤子裡,允許有的盤子空著不放,問共有多少種不同的分法?用k表示 5,1,1和1,5,1...
POJ1664 放蘋果(遞迴)
description 把m個同樣的蘋果放在n個同樣的盤子裡,允許有的盤子空著不放,問共有多少種不同的分法?用k表示 5,1,1和1,5,1 是同一種分法。input 第一行是測試資料的數目t 0 t 20 以下每行均包含二個整數m和n,以空格分開。1 m,n 10。output 對輸入的每組資料m...
poj1664放蘋果 遞迴
放蘋果 time limit 1000ms memory limit 10000k total submissions 37040 accepted 22806 description 把m個同樣的蘋果放在n個同樣的盤子裡,允許有的盤子空著不放,問共有多少種不同的分法?用k表示 5,1,1和1,5,...