Viết 1 chương nhập 2 số nguyên a và b và rút gọn a/b
Code:
#include <bits/stdc++.h>
using namespace std;
int UCLN(int a , int b)
{
    while(1)
    {
        if(abs(a) > abs(b))
            a = abs(a) - abs(b);
        if(abs(b) > abs(a))
            b = abs(b) - abs(a);
        if(abs(a) == abs(b))
            break;
        if(a == 0 || b == 0)
            break;
    }
    if(a == 0 || b == 0)
        return abs(a - b);
    else
        return abs(a);  
}
int main()
{
    int a,b;
    cin>>a>>b;
    if(a == 0 && abs(b) != 0)
        cout<<0;
    if(b == 0)
        cout<<"INVALID";
    else
    {
        int s = a / UCLN(a,b);
        int p = b / UCLN(a,b);
        if(abs(p) != 1)
        {
            if(a > 0 && b > 0)
                cout<<s<<" "<<p;
            else if(a < 0 && b < 0)
                cout<<abs(s)<<" "<<abs(p);
            else if(a < 0 || b < 0)
                cout<<"-"<<abs(s)<<" "<<abs(p);
        }
        if(abs(p) == 1 && a != 0)
        {
            if(a > 0 && b > 0)
                cout<<s;
            else if(a < 0 && b < 0)
                cout<<abs(s);
            else if(a < 0 || b < 0)
                cout<<"-"<<abs(s);
        }
    }
    return 0;
}
 
 

