F016B. Sabeu restar? P28032


Statement
 

pdf   zip

html

Feu un programa que llegeixi parells de naturals i que, per a cada parell, escrigui el valor de la resta del primer menys el segon. Per exemple, 5 menys 2 fan 3.

Compte: com que els naturals que es consideren en aquest problema poden ser mooooolt llargs (milers de dígits), cal guardar-los en variables de tipus string.

El programa principal ja se us dóna implementat, no el canvieu:

int main() { string x, y; while (cin >> x >> y) cout << resta(x, y) << endl; }

Per resoldre aquest problema, implementeu la funció

string resta(string x, string y);

que, donades dues cadenes de caràcters x i y que representen dos naturals, amb el valor de x superior o igual al valor de y, retorni una cadena de caràcters que representa xy.

Per simplificar el problema, suposeu que x i y tenen el mateix nombre de dígits, i que el valor de x és més gran o igual que el valor de y. El nombre de dígits del resultat ha ser igual al nombre de dígits dels nombres originals, posant, si cal, zeros a l’esquerra.

Observacions

  • Recordeu que un string s amb n caràcters c es pot declarar així: string s(n, c);
  • Recordeu també que les operacions dels strings com ara s += ’0’; o bé s1 += s2; o bé s = s1 + s2; estan prohibides.
Public test cases
  • Input

    5 2
    9 9
    7 0
    0 0
    258 123
    258 185
    768 289
    666 666
    667 666
    032 023
    000 000
    123456789123456789123456789123456789123456789 000000000000000000000000000000000000000000000
    123456789123456789123456789123456789123456789 044444444444444444444444444444444444444444444
    100000000000000000000000000000000000000000000 000000000000000000000000000000000000000000001
    000000000000000000000000000000000000000000001 000000000000000000000000000000000000000000000
    000000000000000000000000000000000000000000001 000000000000000000000000000000000000000000001
    

    Output

    3
    0
    7
    0
    135
    073
    479
    000
    001
    009
    000
    123456789123456789123456789123456789123456789
    079012344679012344679012344679012344679012345
    099999999999999999999999999999999999999999999
    000000000000000000000000000000000000000000001
    000000000000000000000000000000000000000000000
    
  • Information
    Author
    Professorat de P1
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++