gcd与exgcd
#include<cmath>
#include<bits/stdc++.h>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
#define LL long long
LL read()
{
LL x=0,w=1;
char ch=0;
while(ch<'0'||ch>'9')
{
if(ch=='-')
w=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9')
{
x=x*10+ch-'0';
ch=getchar();
}
return w*x;
}
int a,b,X,Y;
int gcd(int x,int y)
{
while(y!=0)
{
int z=x;
x=y;
y=z%y;
}
return x;
}
int exgcd(int a,int b,int &x,int &y)
{
if(b==0)
{
x=1;
y=0;
return a;
}
int r=exgcd(b,a%b,x,y);
int t=x;
x=y;
y=t-a/b*y;
return r;
}
int lcm(int a,int b)
{
int ans=a/gcd(a,b);
return ans*b;
}
int main()
{
while(cin>>a>>b)
{
cout<<"GCD:"<<gcd(a,b)<<endl;
int tt=exgcd(a,b,X,Y);
cout<<"exGCD:"<<a<<"*"<<X<<'+'<<b<<'*'<<Y<<'='<<tt<<endl;
}
return 0;
}