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|’.
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.
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