Pagini recente » Cod sursa (job #312560) | Cod sursa (job #46922) | Cod sursa (job #2888160) | Cod sursa (job #2124070) | Cod sursa (job #344338)
Cod sursa(job #344338)
#include <stdio.h>
FILE *f,*s;
int n,i,j,v1[1000],v2[1000],v3[1000];
void suma(int x[1000], int y[1000])
{
int T=0;
if(y[0]>x[0])
{
for (i=x[0]+1; i<=y[0]; i++)
x[i]=0;
x[0]=y[0];
}
else
for (i=y[0]+1; i<=x[0]; i++)
y[i]=0;
for (i=y[0]+1; i<=x[0]; i++)
y[i]=0;
for (i=1;i<=x[0];i++)
{
x[i]+=y[i]+T;
T=x[i]/10;
x[i]%=10;
}
if (T)
{
x[0]++;
x[x[0]]=T;
}
}
void copiere(int H[1000],int X[1000])
{
for (i=0;i<=X[0];++i)
H[i] = X[i];
}
int main()
{
f=fopen("nunta.in","r");
s=fopen("nunta.out","w");
fscanf(f,"%d",&n);
v1[0]=1;
v1[1]=0;
v2[0]=1;
v2[1]=1;
for(j=2;j<=n;j++)
{
for(i=1;i<=v3[0];i++)
v3[i]=0;
suma(v3,v1);
suma(v3,v2);
copiere(v1,v2);
copiere(v2,v3);
}
for(i=v3[0];i>0;i--)
fprintf(s,"%d",v3[i]);
fprintf(s,"\n\n");
fclose(s);
return 0;
}