思路
将x,y求最大公约数g,然后化为最简。
最大公约数用辗转相除法求解
ll gcd(ll a,ll b)
{
if(b!=0)return gcd(b,a%b);
else return a;
}
代码
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll gcd(ll a,ll b)
{
if(b!=0)return gcd(b,a%b);
else return a;
}
int main()
{
ll a,b,c,d;
cin>>a>>b>>c>>d;
ll g=gcd(c,d);
c/=g;
d/=g;
cout<<min((a/c),(b/d));
}