F008B. Suma de fraccions P93090


Statement
 

pdf   zip

thehtml

Feu un programa que calculi el resultat de sumar una seqüència de fraccions.

Utilitzant la definició

struct Fraccio { int num, den; // sempre estrictament positius };

el vostre programa ha d’incloure i fer servir la funció

Fraccio suma(const Fraccio& x, const Fraccio& y);

que retorna la suma de |x| i |y|, sense factors comuns en el numerador i el denominador.

Entrada

L’entrada és una seqüència d’una o més fraccions simplificades separades per signes de suma, acabada en un igual. Cada fracció consisteix en el seu numerador, una barra, i el seu denominador. Els numeradors i els denominadors són naturals estrictament positius.

Sortida

Escriviu la fracció simplificada corresponent a la suma de totes les fraccions donades.

Observacions

  • Per evitar sobreeixements, useu la funció |suma()| per acumular els càlculs parcials.
  • Es valorà negativament el càlcul ineficient del màxim comú divisor.
  • No podeu usar vectors per resoldre aquest problema.
Public test cases
  • Input

    1/2 + 1/2 =
    

    Output

    1/1
    
  • Input

    1/2 + 2/3 + 3/4 + 4/5 + 5/6 =
    

    Output

    71/20
    
  • Input

    1/10125 + 1/8000 + 1000/999 = 
    

    Output

    4801073/4795200
    
  • Input

    9/4 =
    

    Output

    9/4
    
  • Information
    Author
    Professorat de P1
    Language
    Catalan
    Other languages
    English
    Official solutions
    C++
    User solutions
    C++