Cod sursa(job #486533)

Utilizator ChallengeMurtaza Alexandru Challenge Data 21 septembrie 2010 21:32:40
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#include <cstring>

using namespace std;

const char InFile[]="nunta.in";
const char OutFile[]="nunta.out";
const int MaxL=300;

ifstream fin(InFile);
ofstream fout(OutFile);

int b[MaxL],a[MaxL],c[MaxL],n;

void mycopy(int dest[], int src[])
{
	memset(dest,0,MaxL);
	for(register int i=0;i<=src[0];++i)
	{
		dest[i]=src[i];
	}
}

int main()
{
	fin>>n;
	fin.close();

	a[0]=a[1]=b[0]=b[1]=1;
	for(register int i=1;i<n;++i)
	{
		memset(c,0,MaxL);
		int j,t=0;
		for(j=1;j<=a[0] || j<=b[0] || t;++j,t/=10)
		{
			c[j]=(t+=a[j]+b[j])%10;
		}
		c[0]=j-1;
		mycopy(a,b);
		mycopy(b,c);
	}

	for(register int i=b[0];i>0;--i)
	{
		fout<<b[i];
	}
	fout.close();
	return 0;
}