比赛 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;
}