码迷,mamicode.com
首页 > 其他好文 > 详细

Lucas定理

时间:2018-08-12 14:13:44      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:mod   turn   code   play   cas   lucas定理   splay   bsp   com   

Lucas定理:

C(n, m) % p = Lucas(n, m, p) =C(n%p, m%p) * Lucas(n/p, m/p, p) % p;

即:Lucas(n,m,p)=c(n%p,m%p)*Lucas(n/p,m/p,p) 

其中p 为质数,且用Lucas定理时,n,m很大,p小于1e5。

 

证明

技术分享图片

 

代码实现

LL Lucas(LL a, LL b)
{
    if(a < mod && b < mod)
        return C(a, b);
    return
        C(a % mod, b % mod) * Lucas(a / mod, b / mod);
}

 

Lucas定理

标签:mod   turn   code   play   cas   lucas定理   splay   bsp   com   

原文地址:https://www.cnblogs.com/jc12138/p/9462288.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!