Cod sursa(job #157532)

Utilizator MirageRobert Sandu Mirage Data 13 martie 2008 08:44:18
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<stdio.h>
int f1[300],f2[300],f3[300];
void transf(int a[300], int b[300]){
	int i;
	for(i=1;i<=a[0];++i)
		b[i]=a[i];
	for(i=a[0]+1;i<=b[0]+1;++i)
		b[i]=0;
	b[0]=a[0];
}
int main () {
	freopen("nunta.in","r",stdin);
	freopen("nunta.out","w",stdout);
	int n,i,t;
	scanf("%d",&n);
	if(n<2)
		printf("%d\n",n);
	else{
		f1[0]=f2[0]=1;
		f1[1]=1;
		f2[1]=2;
		n-=2;
		while(n){
			transf(f2,f3);
			t=0;
			for (i=1; i<=f2[0] || i<=f1[0] || t; i++, t/=10)
				f2[i] = (t += f2[i] + f1[i]) % 10;
			f2[0]=i-1;
			transf(f3,f1);
			--n;
		}
	}
	for(i=f2[0];i>0;--i)
		printf("%d",f2[i]);
	return 0;
}