Cod sursa(job #156484)

Utilizator MirageRobert Sandu Mirage Data 12 martie 2008 16:25:37
Problema Nunta Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<stdio.h>
void add(int A[300], int B[300]){
      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 transf(int a[300], int b[300]){
	int i;
	for(i=1;i<=a[0];++i)
		b[i]=a[i];
	b[0]=a[0];
}
int main () {
	freopen("nunta.in","r",stdin);
	freopen("nunta.out","w",stdout);
	int f1[300],f2[300],f3[300],n,i;
	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){
			add(f1,f2);
			transf(f1,f3);
			transf(f2,f1);
			transf(f3,f2);
			--n;
		}
	}
	for(i=f3[0];i>0;--i)
		printf("%d",f3[i]);
	return 0;
}