Cod sursa(job #237278)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 29 decembrie 2008 14:06:28
Problema Nunta Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<iostream>
#include<stdio.h>
FILE *f=fopen("nunta.in","r"),*g=fopen("nunta.out","w");
int nr1[1000],nr2[1000],n,dima=1,dimb=1,t=1;
void add(int A[], int B[],int &dima,int &dimb)
{
      int i, t = 0;
      for (i=1; i<=dima || i<=dimb || t; i++, t/=10)
              A[i] = (t += A[i] + B[i]) % 10;
      dima = i - 1;
}
void fib()
{
	int n1=n+1;
	for(int i=4;i<=n1;i++)
	{
		if(t)
		{
			t=0;
			add(nr1,nr2,dima,dimb);
		}
		else
		{
			t=1;
			add(nr2,nr1,dimb,dima);
		}
	}
}
int main()
{
	int i;
	fscanf(f,"%d",&n);
	nr1[1]=1;nr2[1]=2;
	if(n>=3)
	{
	fib();
	if(t)
	{
		for(i=dimb;i>=1;i--)
			fprintf(g,"%d",nr2[i]);
	}
	else
	{
		for(i=dima;i>=1;i--)
			fprintf(g,"%d",nr1[i]);
	}
	}
	else
		fprintf(g,"%d",n);
	return 0;
}