Cod sursa(job #655339)

Utilizator alexdmotocMotoc Alexandru alexdmotoc Data 2 ianuarie 2012 12:37:26
Problema A+B Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;

#define maxN 200005

int A[maxN] , B[maxN];
char aux1[maxN] , aux2[maxN];

void aduna(int A[], int B[])
{
	int i , t = 0;
	
    for (i = 1 ; i <= A[0] || i <= B[0] || t; ++i , t /= 10)
		A[i] = (t += A[i] + B[i]) % 10;
	
	A[0] = i - 1;
}


int main ()
{
	freopen ("adunare.in" , "r" , stdin);
	freopen ("adunare.out" , "w" , stdout);
	
	int dim = 0;
	
	scanf ("%s" , &aux1);
	
	int size = strlen (aux1) - 1;
	
	for (int i = size ; i >= 0 ; --i)
		A[++dim] = aux1[i] - '0';
	
	A[0] = dim;
	
	dim = 0;
	
	scanf ("%s" , &aux2);
	
	size = strlen (aux2) - 1;
	
	for (int i = size ; i >= 0 ; --i)
		B[++dim] = aux2[i] - '0';
	
	B[0] = dim;
	
	aduna (A , B);
		
	for (int i = A[0] ; i >= 1 ; --i)
		printf ("%d" , A[i]);
		
	
	return 0;
}