比赛 |
201712练习 |
评测结果 |
AAAAAAAAAA |
题目名称 |
同余方程 |
最终得分 |
100 |
用户昵称 |
烟雨 |
运行时间 |
0.004 s |
代码语言 |
C++ |
内存使用 |
0.29 MiB |
提交时间 |
2017-12-25 18:23:41 |
显示代码纯文本
#include<cstdio>
#define LL long long
using namespace std;
LL a,b,x,y,ans;
LL g(LL a,LL b)
{
LL k;
while(a%b)
{
k=a%b;
a=b;
b=k;
}
return b;
}
int gcd(LL a,LL b,LL &x,LL &y)
{
if(!b)
{
x=1;
y=0;
return 0;
}
else
{
gcd(b,a%b,x,y);
int k=x;
x=y;
y=k-(a/b)*y;
}
}
int main()
{
freopen ("mod.in","r",stdin);
freopen ("mod.out","w",stdout);
scanf("%lld%lld",&a,&b);
LL c=1;
c=g(a,b);
a=a/c;
b=b/c;
gcd(a,b,x,y);
while(x<0)x=x+b;
printf("%lld\n",x);
return 0;
}