费马小定理+Lucas定理 大组合数取模
来源:互联网 发布:js编码 编辑:程序博客网 时间:2024/05/28 06:04
#include<stdio.h>long long factorial[10010];long long quick(long long a,long long n,long long p);long long com(long long k,long long n);long long Lucas(long long k,long long n,long long p);void fac(int p);int main(){long long a,b,k,n,m;fac(10007);scanf("%lld%lld%lld%lld%lld",&a,&b,&k,&n,&m);printf("%lld\n",quick(a,n,10007)*quick(b,m,10007)%10007*Lucas(k,n,10007)%10007);return 0;}long long quick(long long a,long long n,long long p)//快速幂{long long ans=1;while(n>0){if(n%2!=0)ans=ans*a%p;n/=2;a=a*a%p;}return ans;}void fac(int p)//阶乘求模{int i;factorial[0]=1;for(i=1;i<=p;i++)factorial[i]=factorial[i-1]*i%p;}long long Lucas(long long k,long long n,long long p){long long kk,nn;long long ans=1;while(k&n){kk=k%p;nn=n%p;if(kk<nn)return 0;//待证明:对于组合数C(n,k),若k%p>n%p,一定有p整除C(n,k)ans=ans*factorial[kk]*quick(factorial[kk-nn]*factorial[nn]%p,p-2,p);//此处用到费马小定理求逆元k/=p;n/=p;}return ans;}
阅读全文
0 0
- 费马小定理+Lucas定理 大组合数取模
- Lucas定理 大组合数取模
- hdu3037 大组合数取模(Lucas定理)
- Lucas定理--大组合数取模 学习笔记
- HDU3944 DP?(大组合数取模:lucas定理)
- Lucas定理(大组合数取模)
- 大组合数取模 Lucas定理 HD3037
- HDU3037(Lucas定理求大组合数取模)
- 【 Lucas定理 】 组合数取模
- Lucas定理---组合数取模
- lucas 定理,组合数取模
- FZU 2020 组合 -- (大组合数取模 Lucas定理)
- hdu3037 lucas 定理 组合数取模
- Lucas定理及组合数取模
- hdu5968(组合数取模Lucas定理)
- hdu 3037 Saving Beans 【大组合数取模-Lucas定理+逆元取模】
- 大组合数取模 hdu 3037 Saving Beans lucas定理
- hdu 3944 Lucas定理--大组合数取模 多校赛
- 热烈欢呼无穷小微积分微信公众号开通!
- Slim 框架学习,第四天
- ImageView: ScaleType用法总结
- 逛智慧商场,连上WiFi,就能找到自己想要的
- SSM(3) bootstrap的domal导入和使用
- 费马小定理+Lucas定理 大组合数取模
- nRF51822 官方 Blinky 工程(多彩 LED)
- SpringBoot一
- 自学Python之Python基础:(五)Python数据结构常用操作
- nginx 知识点列表
- 数据结构与算法基础
- pip常用命令
- UDP可靠性的增加之UNP22章读后感(一)
- 关于JAVA集合类的源代码的一些记录(持续更新)