Cod sursa(job #124589)

Utilizator za_wolfpalianos cristian za_wolf Data 19 ianuarie 2008 16:51:25
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<stdio.h>
#include<string.h>
#define NMAX 1001
int x[NMAX],y[NMAX],z[NMAX],i,j,n,m,k,l;
void add(int A[], int B[])
{
	int i,t=0;
	for (i=1;i<=A[0]||i<=B[0]||t;i++,t/=10)
		A[i]=(t+=A[i]+B[i]) %10;
	A[0]=i-1;
}
int main()
{
	freopen("nunta.in","r",stdin);
	freopen("nunta.out","w",stdout);
	scanf("%d",&n);
	x[0]=1;
	x[1]=1;
	y[0]=1;
	y[1]=2;
	if (n==1) {printf("1\n"); return 0;}
	if (n==2) {printf("2\n"); return 0;}
	for (i=2;i<=n;i++)
	{
		add(x,y);
		memcpy(z,y,sizeof(y));
		memcpy(y,x,sizeof(x));
		memcpy(x,z,sizeof(z));
	}
	for (i=x[0];i>=1;i--)
	printf("%d",x[i]);
	printf("\n");

	return 0;
}