exgcd模板

\(ax+by\)
\(=gcd(a,b)\)
\(=gcd(b,a%b)\)
\(=gcd(b,a-(a/b)*b)\)
\(=bx'+(a-(a/b)*b)y'\)
\(=ay'+(x'-(a/b)y')b\)

\(x=y'\)
\(y=x'(a/b)y\)

 #include<cstdio> #include<algorithm> using namespace std; pair<int,int> exgcd(int x,int y) { if(x==1&&y==0) return make_pair(x,y); pair<int,int> ans=exgcd(y,x%y); return make_pair(ans.second,ans.first-(x/y)*ans.second); } int main() { int a,b; scanf("%d%d",&a,&b); pair<int,int> ans=exgcd(a,b); printf("%d\n",(ans.first%b+b)%b); return 0; }
全部评论

相关推荐

06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
点赞 评论 收藏
分享
强大的马里奥:不太可能,我校计算机硕士就业率99%
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务