求助 WA on #5,助我复兴,事成封你大General
查看原帖
求助 WA on #5,助我复兴,事成封你大General
1351126
General0826楼主2024/8/12 10:49
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e5+5;
ll a,b,cnt=0;
ll gcd(ll a,ll b)
{
	if(b==0) return a;
	return gcd(b,a%b);
}
ll xy(ll x)
{
	for(ll i=2;i*i<=x;i++)
		if(x%i==0)
			return  i;
	return x;
}
int main() 
{
	cin>>a>>b;
	if(a==b)
	{
		cout<<a;
		return 0;
	}
	
	while(a>0&&b>0)
	{
		if(a==b) break; 
		if(a-b==1){
			cnt+=b;
			break;   
		}
		if(gcd(a,b)==1)
		{
			ll m=xy(a-b);
			ll x=a%m;
			cnt+=x;	
			a-=x;
			b-=x;
		}
		ll gc=gcd(a,b);
		if(b>a) swap(a,b);
		a/=gc;
		b/=gc;
		
	}
	cout<<cnt;
	return 0;
}
/*
钢琴住了几个妖
邮箱住了几个魔 
a/=gc;
b/=gc;
a--,b--;
*/
2024/8/12 10:49
加载中...