Pagini recente » Cod sursa (job #1912256) | Cod sursa (job #2517270) | Cod sursa (job #2946315) | Cod sursa (job #2563023) | Cod sursa (job #237278)
Cod sursa(job #237278)
#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;
}