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;
	}
}

Double click to view unformatted code.


Back to problem 3497