Cod sursa(job #755251)

Utilizator scipianusFMI Ciprian Olariu scipianus Data 5 iunie 2012 08:51:36
Problema Nunta Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<fstream>
using namespace std;
int n;
unsigned char fib[3][215];

int main()
{
	int j;
	unsigned char i,t;
	ifstream fin("nunta.in");
	fin>>n;
	fin.close();
	
	fib[0][0]=fib[0][1]=1;
	fib[1][0]=1;
	fib[1][1]=2;
	fib[2][0]=1;
	fib[2][1]=2;
	for(j=3;j<=n;j++)
	{
		for(i=1,t=0;i<=fib[2][0] || i<=fib[0][0] || t;i++,t/=10)
			fib[2][i]=(t+=fib[2][i]+fib[0][i])%10;
		fib[2][0]=i-1;
		for(i=0;i<=fib[1][0];i++)
			fib[0][i]=fib[1][i];
		for(i=0;i<=fib[2][0];i++)
			fib[1][i]=fib[2][i];
	}
	
	ofstream fout("nunta.out");
	if(n==1)
		fout<<1<<"\n";
	else
	{
		if(n==2)
			fout<<2<<"\n";
		else
		{
			for(j=(int)fib[1][0];j>0;j--)
				fout<<(char)(fib[1][j]+'0');
			fout<<"\n";
		}
	}
	fout.close();
	return 0;
}