Cod sursa(job #180995)

Utilizator raresjuniorSfirlogea Rares raresjunior Data 17 aprilie 2008 19:01:35
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<stdio.h>
FILE *f=fopen("nunta.in","r"),*g=fopen("nunta.out","w");
int n,a[250],b[250],c[250];

void add(int A[250], int B[250])
{
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 copy(int A[250],int B[250])
{
A[0]=B[0];
for(int i=1;i<=B[0];A[i]=B[i],B[i]=0,i++);
}

void afiseaza(int A[250])
{
int i;
for(i=A[0];i>=1;fprintf(g,"%d",A[i]),i--);
}

int main()
{
fscanf(f,"%d",&n);
a[0]=1;
b[0]=1;
a[1]=1;
b[1]=2;
if(n==1)
	afiseaza(a);
if(n>=2)
	{
	for(int i=3;i<=n;i++)
		{
		add(c,a);
		add(c,b);
		copy(a,b);
		copy(b,c);
		}
	afiseaza(b);
	}
fclose(f);
fclose(g);
return 0;
}