为什么不能用逆元?

一个问题:

为什么不能不能用阶乘逆元做这题 P3807 【模板】卢卡斯定理 ?

求 Cmn+m mod p,n,m,p<=1e5;

举个例子 C2mod 2 ,应该得到1,但因为 2! mod 2 为0,3!mod 2 为 0,所以会算得零

看一看逆元的定义: x*x-1 ≡ 1 (mod p) ,假如 x ≡ 0 (mod p) ,一定不存在 x-1

p 的倍数不存在逆元,当不保证 n<=p 时,应用 Lucas定理,只需用到 p 以内的阶乘逆元。

 

posted @ 2021-06-12 15:50  Sherlockk  阅读(48)  评论(0)    收藏  举报