nyoj整數劃分(二)

2021-06-18 23:50:32 字數 798 閱讀 5522

時間限制:

1000 ms  |  記憶體限制:

65535 kb

難度:3 描述

把乙個正整數m分成n個正整數的和,有多少種分法?

例:把5分成3個正正數的和,有兩種分法:

1 1 3

1 2 2

輸入

第一行是乙個整數t表示共有t組測試資料(t<=50)

每組測試資料都是兩個正整數m,n,其中(1<=n<=m<=100),分別表示要拆分的正數和拆分的正整數的個數。

輸出輸出拆分的方法的數目。

樣例輸入  

2

5 25 3

樣例輸出

2

2

分析:把乙個正整數m分成n個正整數的和,可分成兩種情況,一種是這n個整數中有1,一種是沒有1,若有1的話,就是確定肯定有1個數是1(也有可能有多個數是1),那麼問題就變成m-1分成n-1個數的和。若沒有1的話,就是n個數里沒有乙個的數是1,那麼我們可以把這n個數都分出來乙個1,就是這n個數都減1,現在問題就變成了m-n分成n個數的和。整個問題就是這兩種情況的和。
#include #include using namespace std;

int a[101][101];

int main()

return 0;

}

遞迴實現

int fun(int num, int k)

NYOJ 整數劃分(二)

時間限制 1秒 記憶體限制 128兆 題目描述 把乙個正整數m分成n個正整數的和,有多少種分法?例 把5分成3個正正數的和,有兩種分法 1 1 3 1 2 2 輸入第一行是乙個整數t表示共有t組測試資料 t 50 每組測試資料都是兩個正整數m,n,其中 1 n m 100 分別表示要拆分的正數和拆分...

NYOJ 整數劃分

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 將正整數n表示成一系列正整數之和 n n1 n2 nk,其中n1 n2 nk 1,k 1。正整數n的這種表示稱為正整數n的劃分。求正整數n的不 同劃分個數。例如正整數6有如下11種不同的劃分 6 5 1 4 2,4 1 1 3 ...

NYOJ 176 整數劃分(二)

整數劃分 二 時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述把乙個正整數m分成n個正整數的和,有多少種分法?例 把5分成3個正正數的和,有兩種分法 1 1 3 1 2 2 輸入第一行是乙個整數t表示共有t組測試資料 t 50 每組測試資料都是兩個正整數m,n,其中 1 n m...