遞迴 放蘋果

2021-06-10 12:42:19 字數 1020 閱讀 9332

遞迴**:

#includeusing namespace std;

int count(int m, int n)

int main()

}

執行結果:

enter n_case:

2enter two intengers:

7 3the total path is: 8

enter two intengers:

10 8

the total path is: 40

process returned 0 (0x0)   execution time : 4.922 s

press any key to continue.

非遞迴**:

#includeusing namespace std;

int main()

; cout << "enter n_case(0<= n_case <= 20): " << endl;

cin >> n_case;

for(int i= 0,j = 1; i <= m; ++i)

a[i][j] = 1; //只有乙個盤子時,無論蘋果多少都只有一種放法

for(int i = 0, j = 0; j <= n; ++j)

a[i][j] = 1; //沒有蘋果時,定義為一種放法

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

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

while(n_case--)

return 0;

}

說明:這個**有問題,m或n輸入值一旦超過10的話,就出錯,問題出在那裡還不清楚,有待改正……

同時歡迎提出寶貴意見,以幫助我改進,不勝感激!!!

——桑海整理

遞迴 放蘋果

問題描述 把 m 個同樣的蘋果放在n 個同樣的盤子裡,允許有的盤子空著不放,問共有多少 種不同的分法?用k 表示 注意 5,1,1 和1,5,1 是同一種分法。輸入資料 第一行是測試資料的數目t 0 t 20 以下每行均包含兩個整數m 和n,以 空格分開。1 m,n 10。輸出要求 對輸入的每組資料...

遞迴 放蘋果

問題描述 把 m 個同樣的蘋果放在n 個同樣的盤子裡,允許有的盤子空著不放,問共有多少 種不同的分法?用k 表示 注意 5,1,1 和1,5,1 是同一種分法。輸入資料 第一行是測試資料的數目t 0 t 20 以下每行均包含兩個整數m 和n,以 空格分開。1 m,n 10。輸出要求 對輸入的每組資料...

放蘋果 遞迴

小蒜想知道把 mmm 個同樣的蘋果放在 nnn 個同樣的盤子裡,允許有的盤子空著不放,共有多少種不同的分法?用 kkk 表示 555,111,111 和 111,555,111 是同一種分法。輸入格式 第一行是測試資料的數目 t 0 t 20 t 0 le t le 20 t 0 t 20 以下每行...