首页 > 代码库 > 乘法逆元
乘法逆元
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <cstdlib>using namespace std;typedef long long LL;LL gcd(LL a,LL b){ return b==0?a:gcd(b,a%b);}void kzgcd(LL a,LL b,LL& d,LL& x,LL& y){ if (!b) { d=a;x=1;y=0; } else { kzgcd(b,a%b,d,y,x); y-=x*(a/b); }}LL inv(LL a, LL n){ LL d,x,y; kzgcd(a,n,d,x,y); return d==1?(x+n)%n:-1;}int main(){ long long aa,nn; cin>>aa>>nn; long long ans=inv(aa,nn); cout<<ans;}
乘法逆元
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。