Pagini recente » Cod sursa (job #140273) | Cod sursa (job #1096034) | Cod sursa (job #913606) | Cod sursa (job #1397511) | Cod sursa (job #330230)
Cod sursa(job #330230)
# include <stdio.h>
typedef struct NUMAR
{
long int v[4000];
long int len;
};
NUMAR v[1000];
long int max(long int a, long int b)
{
if (a>b) return a;
return b;
}
void aduna(NUMAR &c, NUMAR &a, NUMAR &b)
{
c.len=max(a.len,b.len);
long int i;
for (i=1;i<=c.len;i++)
{
c.v[i]+=a.v[i]+b.v[i];
c.v[i+1]+=c.v[i]/10;
c.v[i]%=10;
}
while (c.v[c.len+1])
{
c.len++;
c.v[c.len+1]+=c.v[c.len]/10;
c.v[c.len]%=10;
}
}
int main()
{
long int n;
FILE *f=fopen("nunta.in","r");
fscanf(f,"%ld",&n);
fclose(f);
v[1].len=1;v[1].v[1]=1;
v[2].len=1;v[2].v[1]=2;
long int i;
for (i=3;i<=n;i++)
aduna(v[i],v[i-1],v[i-2]);
FILE *g=fopen("nunta.out","w");
for (i=v[n].len;i>=1;i--)
fprintf(g,"%ld",v[n].v[i]);
fprintf(g,"\n");
fclose(g);
return 0;
}