【問題描述】
組合數表示的是從n個物品中選出m個物品的方案數。舉個例子,從(1,2,3) 三個物品中選擇兩個物品可以有(1,2),(1,3),(2,3)這三種選擇方法。根據組合數的定義,我們可以給出計算組合數的一般公式:
其中n! = 1 × 2 × … × n。
小蔥想知道如果給定n,m和k,對於所有的0 <= i <= n,0 <= j <= min(i,m)有多少對 (i,j)滿足是k的倍數。
【輸入格式】
第一行有兩個整數t,k,其中t代表該測試點總共有多少組測試資料,k的意義見 【問題描述】。
接下來t行每行兩個整數n,m,其中n,m的意義見【問題描述】。
【輸出格式】
t行,每行乙個整數代表所有的0 <= i <= n,0 <= j <= min(i,m)有多少對 (i,j)滿足是k的倍數。
【輸入輸出樣例】
輸入樣例#1:
1 23 3
輸出樣例#1:
1輸入樣例#2:
2 54 5
6 7輸出樣例#2:07
【說明】
【樣例1說明】
在所有可能的情況中,只有c(2,1)是2的倍數
題解:這個題目是求字首和,我們用楊輝三角求2000內的組合數,因為組合數太大,所有我們對k取模,對k取模不會影響它是不是k的倍數,然後預處理字首和就好,上**。
#include#include#includeusing namespace std;
int a[2005][2005];
int dp[2005][2005];
void init(int k)
for(int i=2;i<=2000;i++)
}
組合數問題
題目描述 組合數c n mc n m 表示的是從n個物品中選出m個物品的方案數。舉個例子,從 1,2,3 三個物品中選擇兩個物品可以有 1,2 1,3 2,3 這三種選擇方法。根據組合數的定 義,我們可以給出計算組合數的一般公式 c n m fracc n m m n m n 其中n 1 2 n 小...
問題 A 組合數
唯一分解定理在此 時間限制 1 sec 記憶體限制 128 mb 提交 1938 解決 147 提交 狀態 命題人 jsu admin 題目描述 求組合數c n,m 以及c n,m 因子個數。輸入n和m,其中0 m n 50,以eof結束。輸出該組合數結果 樣例輸入 copy 3 2 4 2樣例輸出...
C 組合數問題
輸入一組元素,從所給的元素中任意取n個 n 總個數 元素組合,計算可以組合的個數 例如 從a b c d e 中任意取2個元素兩兩組合,可以有10種方法 設共有m個元素,取n個元素兩兩組合,共有 m n m n 種方法。include using namespace std void input i...