View Code of Problem 3497

#include <iostream>
#include <cstdio>
#include <string>
using namespace std;
string add(string a,string b){
	if(b.size()>a.size()){
		swap(a,b);
	}
	int n = a.size() - b.size();
	for(int i=0;i<n;i++){
		b = '0' + b;
	}
	int carry = 0;
	for(int i=a.size()-1;i>=0;i--){
		int current = carry + a[i] -'0' + b[i]  -'0';
		a[i] = current % 10 + '0';
		carry = current / 10;
	}
	if(carry != 0){
		a = '1' + a;
	}
	return a;
}
int main(){
	string a,b;
	while(cin>>a>>b){
		cout<<add(a,b)<<endl;
	}
//	string a,b,c;
//	while(cin>>a>>b>>c){
//		for(int i=0;i<97;i++){
//			string s = add(add(a,b),c); 
//			a = b;
//			b = c;
//			c = s;
//		}
//		cout<<c<<endl;
//	}
//	string a[100];
//		
//		while (cin >> a[0] >> a[1] >> a[2])
//		{
//			for (int i = 3;i <= 99;i++)
//			{
//				a[i] = add(add(a[i - 1], a[i - 2]), a[i - 3]);
//			}
//			cout << a[99] << endl;
//		}
//		
//		return 0;
}

Double click to view unformatted code.


Back to problem 3497