2 条题解
-
0
考虑扩展欧几里得定理求逆元。
可得 ,因为 。
所以我们将 转化为 。
直接套板子,但是注意到 可能是负数所以需累加转为正整数。
#include<bits/stdc++.h> using namespace std; int a,b,x,y; //拓展欧几里得 int exgcd(int a,int b,int &x,int &y){ if(!b){ x=1,y=0; return a; } int res=exgcd(b,a%b,x,y); int temp=x; x=y; y=temp-a/b*y; return res; } int main(){ cin>>a>>b; exgcd(a,b,x,y); cout<<(x+b)%b; return 0; }
信息
- ID
- 5140
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 6
- 标签
- 递交数
- 25
- 已通过
- 19
- 上传者