题目背景

这是一道模板题

题目描述

给定n,p求1~n中所有整数在模p意义下的乘法逆元。

输入输出格式

输入格式:

一行n,p

输出格式:

n行,第i行表示i在模p意义下的逆元。

输入输出样例

输入样例#1:

10 13

输出样例#1:

1
7
9
10
8
11
2
5
3
4

说明

1≤n≤3×10​6​​,n<p<20000528

输入保证 pp 为质数。

费马小定理:

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<iostream>
 4 #include<algorithm>
 5 #define ll long long
 6 using namespace std;
 7 int n,p;
 8 int fast(ll a,ll b){
 9     ll ans=1;
10     while(b){
11         if(b&1)ans=(ans*a)%p;
12         a=(a*a)%p;
13         b>>=1;
14     }
15     return ans;
16 }
17 int main(){
18     scanf("%d%d",&n,&p);
19     for(int i=1;i<=n;i++)
20         printf("%d\n",fast(i,p-2));
21     return 0;
22 }

扩展欧几里得:

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<iostream>
 4 #include<algorithm>
 5 using namespace std;
 6 void ex_gcd(int a,int b,int &x,int &y){
 7     if(b==0){x=1,y=0;return;}
 8     ex_gcd(b,a%b,x,y);
 9     int tmp=x;x=y;y=tmp-(a/b)*y;
10 }
11 int main(){
12     int a,b,x,y;
13     scanf("%d%d",&a,&b);
14     for(int i=1;i<=a;i++){
15         ex_gcd(i,b,x,y);
16         printf("%d\n",(x+b)%b);
17     }
18     return 0;
19 }

线性计算:

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<iostream>
 4 #include<algorithm>
 5 using namespace std;
 6 int ans[3000010],n,p;
 7 int main(){
 8     scanf("%d%d",&n,&p);
 9     ans[1]=1;puts("1");
10     for(int i=2;i<=n;i++){
11         ans[i]=(long long)(p-p/i)*ans[p%i]%p;
12         printf("%d\n",ans[i]);
13     }
14     return 0;
15 }

转载于:https://www.cnblogs.com/Emine/p/7646786.html

【luogu 3811】【模板】乘法逆元相关推荐

  1. luogu P2613 【模板】有理数取余(费马小定理,乘法逆元)

    整理的算法模板合集: ACM模板 目录 题目传送门 题目传送门 相当于是一个高精的费马小定理求乘法逆元.虽然数据达到了101000110^{10001}1010001,但是我们可以使用快读然后一直模m ...

  2. P5431 【模板】乘法逆元2(小学数学题,毒瘤鱼,卡常之王yyds)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 P5431 [模板]乘法逆元2 题目传送门 题目大意: 给定 nnn 个正整数 aia_iai​ ,求 ...

  3. luogu P5142 区间方差(线段树、乘法逆元)

    luogu P5142 区间方差 本题要求维护模区间方差,很明显是一道数据结构题. 我们化简方差公式: 而平均数等于 可以发现,我们只需要维护序列的区间和和区间平方和,就可以维护平均数和方差. 区间和 ...

  4. 洛谷——P3811 【模板】乘法逆元

    P3811 [模板]乘法逆元 线性求逆元 逆元定义:若$a*x\equiv1 (\bmod {b})$,且$a$与$b$互质,那么我们就能定义: $x$为$a$的逆元,记为$a^{-1}$,所以我们也 ...

  5. 题解 P3811 【【模板】乘法逆元】

    P3811 [模板]乘法逆元 一个刚学数论的萌新,总结了一下这题的大部分做法 //一.费马小定理+快速幂 O(nlogn) 64分 #include<cstdio> using names ...

  6. 【训练题22:线性求逆元】【模板】乘法逆元 | 洛谷 P3811

    [模板]乘法逆元 难度 普及/提高\color{yellow}普及/提高普及/提高 板子题,给出两种方法 题意 给 n,pn,pn,p 求出所有 i∈[1,n]i\in[1,n]i∈[1,n]在模 p ...

  7. gcd + 扩展欧几里得定理+递推乘法逆元(模板)

    gcd: int gcd(int a, int b){ return b==0? a: gcd(b, a%b); } 扩张欧几里得定理: 扩展欧几里德算法是用来在已知a, b求解一组x,y使得ax+b ...

  8. java乘法逆元与除法取模,逆元

    题目描述 题目描述 求关于x的同余方程ax≡1(mod b)的最小正整数解. 输入格式 每组输入数据只有一行,包含两个正整数a, b,用一个空格隔开. 数据规模: 对于40%的数据,2≤b≤1,000 ...

  9. 数论练习1 ( 曹冲养猪 + [POJ 2891]Strange Way to Express Integers + 乘法逆元【带证明】)

    虽然作业还没有做完,但是我还是放不下它,对此,我只想说: 今天你对作业爱理不理,明天它就让你补到飞起 DP先放放,我们要雨露均沾 练习上手:乘法逆元 题目 题解 代码实现 曹冲养猪?(互质的中国剩余定 ...

最新文章

  1. k8s架构组件功能介绍
  2. pattern in java_Java里的生产者-消费者模型(Producer and Consumer Pattern in Java)
  3. 关机时无人照管更新正在运行_路辉物流设备:无人化分拣作业驱动物流业降本增效...
  4. 关于浮点数的问题,我再做一个字体设置的时候总有问题,现在看了这个文章,受到了启发...
  5. sql [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause
  6. can't resolve symbol 'R' ...
  7. 看了一个大牛的博客,发现了一个很好的文章-初学PHP进
  8. 设计模式——工厂方法模式
  9. 大屏制作 | 完成一个美观大屏到底多简单?四步完成
  10. DotEPUB:一键将网页转换成 EPUB 格式电纸书
  11. THinkphp5.0开源个人博客系统-优优博客系统 v2.3
  12. android 左右切换对话框 dialog
  13. emoji表情如何处理
  14. gis怎么通过水库划分子流域,基于ArcGIS的生态清洁小流域地块划分及应用
  15. 爆火上热搜!抖音「变身漫画」特效是如何实现的?
  16. 【网络仿真】ns-3基础(上)
  17. 网站内容管理系统--CMS相关漏洞复现
  18. windows系统dos命令合集
  19. Win7如何制作Wifi热点
  20. k-Means的优缺点

热门文章

  1. f12获取网页文本_怎么获取网页源代码中的文件?
  2. OCP-Oracle 12c 数据库认证
  3. vc2010中开始执行不调试灰的_反编译动态调试smali全过程
  4. python游戏编程快速上手第四版dragon_《Python游戏编程快速上手》——导读
  5. etsi计算机应用场景,ETSI发布最新版DVB数据广播规范,包括五大应用场景
  6. 现代操作系统: 第八章 多处理机系统
  7. linux裸设备文件系统,Linux当中的文件系统
  8. python入门教程收藏_python入门教程:超详细保你1小时学会Python,快来收藏看看...
  9. DC-leetcode215数组中的第k大元素
  10. windows安装Python模块:requests