2016.1.26
法一:直接根據定義式,求乘法逆元即可
法二:借助關於n!mod p,那麼根據C(n,k)的定義式並結合乘法逆元即可求解。
法三:借助盧卡斯定理求解
特別注意:在C(n,k)模p等於0的情況下,上述方法均不奏效,所以需要特判。
特判方法舉例:如在采取法一時,分子中因子p的個數為e1,分母中因子p的個數為e2,那麼e1=e2時模p不得0,可繼續進行;若e1>e2,則模p為0,直接返回0.
如在采取法三時,有這樣一句話:C(a,b)模p不等於0的充要條件是a在p進制下的每一位都不小於b在p進制下對應的位,C(a,b)模p等於0的充要條件是a在p進制下至少有一位小於b在p進制下對應的位
看不懂沒關系,看這道題就明白了:聰聰考試(主要是盧卡斯定理那部分)