Cod sursa(job #306944)

Utilizator DjSefuWrong name DjSefu Data 22 aprilie 2009 14:30:15
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<cstdio>
#include<cstring>
using namespace std;
int a[900],b[900],c[900];
int i,j,n;
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;
}
void write(int A[])
{ 
	  
	  int i;
	  for(i=A[0]; i ; --i) 
			  printf("%d",A[i]);
	
	printf("\n");
}
int main()
{ freopen("nunta.in","r",stdin);
  freopen("nunta.out","w",stdout);
  scanf("%d",&n);
  if(n==1) printf("1\n");
  else { a[0]=a[1]=1;
	     b[0]=b[1]=1;
		 for(i=2;i<=n;++i) { add(c,a);
							 add(c,b);
							 memset(a,0,sizeof(a));
							 add(a,b);
							 memset(b,0,sizeof(b));
							 add(b,c);
							 memset(c,0,sizeof(c));
							 
						   }
		 write(b);
	  }
  fclose(stdin);
  fclose(stdout);
  return 0;
}