[洛谷3811]【模板】乘法逆元
2017-08-14 15:01
211 查看
思路:
线性推逆元模板。
核心代码:inv[i]=(long long)(p-p/i)*inv[p%i]%p;
注意中间结果要开long long,否则会上溢,只有32分。
#include<cstdio> #include<cctype> inline int getint() { char ch; while(!isdigit(ch=getchar())); int x=ch^'0'; while(isdigit(ch=getchar())) x=(((x<<2)+x)<<1)+(ch^'0'); return x; } int main() { int n=getint(),p=getint(); int inv[n+1]; inv[1]=1; printf("%d\n",inv[1]); for(int i=2;i<=n;i++) { inv[i]=(long long)(p-p/i)*inv[p%i]%p; printf("%d\n",inv[i]); } return 0; }
相关文章推荐
- 洛谷—— P3811 【模板】乘法逆元
- 洛谷 P3811 【模板】乘法逆元
- 洛谷 P3811 【模板】乘法逆元
- 洛谷 P1903 【模板】分块/带修改莫队
- 洛谷P3804 - 【模板】后缀自动机
- [模板]乘法逆元
- 【模板】乘法逆元
- 点分治模板(洛谷P4178 Tree)(树分治,树的重心,容斥原理)
- 洛谷 P3372【模板】线段树 1
- [洛谷3381]【模板】最小费用最大流
- 洛谷 P3386 【模板】二分图匹配
- 乘法逆元模板
- 最小生成树(模板)洛谷3366
- 【并查集模板】 【洛谷P2978】 【USACO10JAN】下午茶时间
- 洛谷—— P3375 【模板】KMP字符串匹配
- 洛谷1531 线段树模板:区间最值
- 洛谷P3389 【模板】高斯消元法
- 洛谷 P3374 树状数组【模板1】
- 洛谷 P3371 【模板】单源最短路径
- 求乘法逆元模板(扩展欧几里得)