Cod sursa(job #180990)

Utilizator raresjuniorSfirlogea Rares raresjunior Data 17 aprilie 2008 18:56:04
Problema Nunta Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 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],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;
}