Cod sursa(job #755252)

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

int main()
{
	int j;
	unsigned char i,t;
	freopen("nunta.in","r",stdin);
	scanf("%d",&n);
	
	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];
	}
	
	freopen("nunta.out","w",stdout);
	if(n<=3)
		printf("%d\n",n);
	else
	{
		for(j=(int)fib[1][0];j>0;j--)
			printf("%c",(char)(fib[1][j]+'0'));
		printf("\n");
	}
	return 0;
}