題目描述:把m個同樣的蘋果放在n個同樣的盤子裡,允許有的盤子空著不放,問共有多少種不同的分法?(用k表示)5,1,1和1,5,1 是同一種分法。
輸入:第一行是測試資料的數目t(0 <= t <= 20)。以下每行均包含二個整數m和n,以空格分開。1<=m,n<=10。
輸出:對輸入的每組資料m和n,用一行輸出相應的k。
樣例輸入:
17 3
樣例輸出:
8
2023年北京大學計算機研究生機試真題
答疑:
基本思路:
令(m,n)表示m個蘋果放到n個籃子裡的種數,那麼勢必會有籃子空餘、籃子都放兩種情況。
1、假如有乙個籃子空餘,那麼空餘籃子相當於沒用,那麼(m,n)的問題就是把m個蘋果放到n-1個籃子裡的種數(m,n-1)
2、假如沒有籃子空餘,那麼每個籃子至少應該有乙個蘋果,即剩下了m-n個蘋果了,問題就變成了,把m-n個蘋果放到n個籃子裡的問題了(m-n,n)。
所以:(m,n)=(m,n-1)+ (m-n,n);
#include using namespace std;
int fang(int k,int r)
int main()
{ int k,r;
int n;
while(cin>>n)
{ for(;n!=0;n--){
cin>>k>>r;
cout<
九度OJ 題目1018
題目1018 統計同成績學生人數 題目描述 讀入n名學生的成績,將獲得某一給定分數的學生人數輸出。輸入 測試輸入包含若干測試用例,每個測試用例的格式為 第1行 n 第2行 n名學生的成績,相鄰兩數字用乙個空格間隔。第3行 給定分數 當讀到n 0時輸入結束。其中n不超過1000,成績分數為 包含 0到...
北大1160,放蘋果,分治法
include includeusing namespace std m為蘋果數,n為盤子數 m,n 表示總的放法 則可知 if m n 即蘋果數目多 沒有盤子空的放法為 m n,n 有盤子空的放法為f m,n 1 f m,n 2 f m,1 從而有 m,n m n,n f m,n 1 f m,1 ...
華為OJ 放蘋果
放蘋果 題目描述 把m 個同樣的蘋果放在 n個同樣的盤子裡,允許有的盤子空著不放,問共有多少種不同的分法?用 k表示 5,1,1和 1,5,1 是同一種分法。輸入 每個用例包含二個整數m和n 0 m 10 1 n 10 n 10 m 10 樣例輸入 7 3樣例輸出 8 計算放蘋果方法數目 輸入值非法...