导航

对于C(n,k)取模

Posted on 2016-01-26 20:40  POOH1DROSE  阅读(657)  评论(0编辑  收藏  举报

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进制下对应的位

                   看不懂没关系,看这道题就明白了:聪聪考试(主要是卢卡斯定理那部分)