乘法逆元就是求一个 a/b = c(mod m)在已知a%m , b%m 的条件下 求c的解

 1 #include <cstdio>
 2 #include <cstring>
 3
 4 using namespace std;
 5 #define ll long long
 6 const int N = 100005;
 7 int val[N];
 8
 9 ll ex_gcd(ll a , ll b , ll &x , ll &y)
10 {
11     if(b == 0){
12         x=1 , y=0;
13         return a;
14     }
15     ll ans = ex_gcd(b,a%b,x,y);
16     ll t=x;
17     x=y,y=t-a/b*y;
18     return ans;
19 }
20
21 ll inv(ll a , ll b , ll mod)
22 {
23     ll x , y;
24     ll d = ex_gcd(b,mod,x,y);
25     return a*x%mod;
26 }
27
28 int main()
29 {
30     int n,m;
31     while(scanf("%d%d" , &n , &m ) == 2)
32     {
33         ll sum = 1;
34         for(int i=0 ; i<n ; i++){
35             scanf("%d" , val+i);
36             sum = (sum*val[i])%m;
37         }
38         for(int i=0 ; i<n ; i++){
39             ll ans = (inv(sum , (ll)val[i] , m)+m)%m;
40             if(i==0) printf("%lld" , ans);
41             else printf(" %lld" , ans);
42         }
43         printf("\n");
44     }
45     return 0;
46 }

转载于:https://www.cnblogs.com/CSU3901130321/p/4266682.html

COJ 1163 乘法逆元的求解相关推荐

  1. java乘法逆元与除法取模,关于数论乘法逆元及相关知识点

    在求解a/b%m时,可以转化为(a%(b*m))/b,转化过程如下 令k = (a/b)/m(向下取整), x = (a/b)%m; a/b = k*m + x (x < m); a = k*b ...

  2. Matlab实现求解乘法逆元实验

    一.实验目的 熟悉求解乘法逆元的算法.在此基础上,选择一种算法,通过运用高级程序设计语言,设计并实现一个计算乘法逆元运算器. 二.实验原理 [定义]对于整数a,m,如果存在整数b,满足ab mod m ...

  3. Python在GF(2⁸)有限域上求解多项式的乘法逆元——基于扩展欧几里得算法

    文章目录 一.前言 二.数学基础 1.GF(2⁸)有限域内的多项式 2.不可约多项式 3.多项式模运算 3.乘法逆元 三.算法步骤 1.扩展欧几里得算法 2.多项式除法 3.多项式乘法 四.代码实现 ...

  4. 乘法逆元的三种求解方法

    目录 乘法逆元小结 逆元的定义 求解逆元的方法 1. 快速幂 测试代码 2.拓展欧几里得 测试代码 3.线性算法 例题 AC代码 乘法逆元小结 参考自:点击此处 乘法逆元,一般用于求(a / b)(m ...

  5. ACM竞赛、数论内容常用的定理(求解(a/b)%c,乘法逆元,费马小定理)

    如果b与c互素,则(a/b)%c=a*b^((c)-1)%c其中是欧拉函数.或者(a/b)%c=a*b^(c-2)%c 如果b与c不互素,则(a/b)%c=(a%bc)/b 对于b与c互素和不互素都有 ...

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

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

  7. 求乘法逆元的几种方法

    (数学渣,下面的文字可能有误,欢迎指教) 乘法逆元的定义貌似是基于群给出的,比较简单地理解,可以说是倒数的概念的推广.记a的关于模p的逆元为a^-1,则a^-1满足aa^-1≡ 1(mod p) 加减 ...

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

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

  9. 数学:乘法逆元-拓展GCD

    乘法逆元应用在组合数学取模问题中,这里给出的实现不见得好用 给出拓展GCD算法: 扩展欧几里得算法是指对于两个数a,b 一定能找到x,y(均为整数,但不满足一定是正数) 满足x*a+y*b=gcd(a ...

最新文章

  1. C++ demo:文本搜索以及'指针的引用'的思考
  2. 拉格朗日插值法(Lagrange插值法)
  3. C#调用dll中的函数
  4. 美团命名服务的挑战与演进
  5. python项目实战_2个Python入门级的实战项目
  6. 有效需求分析的基本流程
  7. webdriver---API---(java版) 高级应用
  8. groovy 兼容 java_java – eclipse插件和maven依赖项中存在的’groovy-all’jar之间的兼容性问题...
  9. 目标检测——模型效率的优化
  10. 初识webservice 服务
  11. 【爱心2】JAVA表白代码——“LOVE“
  12. FastDFS实现原理及流程
  13. 丢花娟(约瑟夫环问题)
  14. KNN(K临近算法)的简单模拟实现
  15. 台式机通过网线共享笔记本电脑无线网络
  16. 今日头条(layout下xml布局)
  17. 抖音 Android 性能优化系列:Java 锁优化
  18. 滑模控制学习笔记(六)
  19. 持续集成:通过Jenkins API创建项目和节点
  20. CnOpenData中国行政区划shp数据

热门文章

  1. 阿里开源新一代人机对话模型 ESIM:准确率打破世界纪录,提升至 94.1%!
  2. 软件测试系列之四 单元测试(Junit)
  3. JS破解专题|光汇云油登录算法
  4. 【反爬】某网站雪碧图反爬
  5. Shiro学习记录(详细)
  6. Linux 后台运行程序方法总结
  7. [置顶] Java面试题全集(下)
  8. 深度学习在CTR中的应用
  9. 【solr专题之一】Solr快速入门
  10. Hive JOIN使用详解