Cod sursa(job #1721281)

Utilizator StriddRobert Stridd Data 25 iunie 2016 08:31:21
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <iostream>

using namespace std;
int cmmmc(int a,int b)
{
    int p=a*b;
    while(a!=b)
    {
        if(a>b)
            a=a-b;
        else
            b=b-a;
    }
    return p/a;
}
int main()
{
    int n,a,b,c,d;
    cout<<"Introduceti numarul de fractii ce urmeaza a fi adunate: ";cin>>n;
    cout<<"Introduceti numaratorul si numitorul primei fractii: ";cin>>a>>b;
    n--;
    while(n)
    {
        cout<<"Introduceti numaratorul si numitorul urmatoarei fractii: ";cin>>c>>d;
        c=c*(cmmmc(d,b)/d);
        a=a*(cmmmc(d,b)/b)+c;
        b=cmmmc(d,b);
        n--;
    }
    cout<<"Fractia este "<<a<<" / "<<b<<endl;
    if(a>b)
    {
        for(int d=2;d<=a/2;d++)
            while(a%d==0 && b%d==0)
            { a=a/d;b=b/d;
            }
    }
    else
        for(int d=2;d<=b/2;d++)
    {
        while(a%d==0 && b%d==0)
            { a=a/d;b=b/d;
            }
    }
    cout<<"Fractia simplificata este "<<a<<" / "<<b;
    return 0;
}