F006A. Sabeu sumar? P55982


Statement
 

pdf   zip

html

Feu un programa que llegeixi parells de naturals i escrigui la seva suma.

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 toqueu:

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

Implementeu la funció

string suma(string x, string y);

que, donades dues cadenes de caràcters |x| i |y| que representen dos naturals, retorna una cadena de caràcters |z| que representa la seva suma.

Per simplificar el problema, suposeu que ni |x| ni |y| comencen amb ‘|0|’. A més, suposeu que |x| té, com a mínim, tants dígits com |y|. El nombre de dígits de |z| ha ser igual al nombre de dígits de |x| més un, encara que això faci que |z| comenci amb ‘|0|’.

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

    2 2
    7 8
    1234 1
    9999 1
    1000000000000000000000 1000000000000000000000
    999999999999999999999 99999999999999999999
    10000000000000000000 1
    1870 8428
    100000 1010
    

    Output

    04
    15
    01235
    10000
    02000000000000000000000
    1099999999999999999998
    010000000000000000001
    10298
    0101010
    
  • Input

    999999999999999999999999999999999999999999999999999999999999999999999999999999999 2
    

    Output

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