求乘法逆元
Posted zxz666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求乘法逆元相关的知识,希望对你有一定的参考价值。
#include<bits/stdc++.h> using namespace std; typedef long long ll; void exgcd(ll a,ll b,ll& d,ll& x,ll& y) { if(!b) { d = a; x = 1; y = 0; } else{ exgcd(b, a%b, d, y, x); y -= x*(a/b); } } ll inv(ll a, ll p) { ll d, x, y; exgcd(a, p, d, x, y); return d == 1 ? (x+p)%p : -1; } int main() { ll a,p; while(1) { scanf("%lld %lld",&a,&p); printf("%lld ",inv(a,p)); } }
以上是关于求乘法逆元的主要内容,如果未能解决你的问题,请参考以下文章