#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m;
int stein(int x,int y)
{
if(x<y)
swap(x,y);
if(y==0)
return x;
if(!(x&1)&&!(y&1))
return stein(x>>1,y>>1)<<1;
else if((x&1)&&!(y&1))
return stein(x,y>>1);
else if(!(x&1)&&(y&1))
return stein(x>>1,y);
else
return stein(x-y,y);
}
signed main()
{
cin>>n>>m;
int ans=stein(n,m);
cout<<ans<<endl;
}
stein模板(求两个数的最大公约数 <2^63)
最新推荐文章于 2024-01-01 10:08:11 发布