Pagini recente » Cod sursa (job #802321) | Cod sursa (job #2709199) | Cod sursa (job #1028827) | Cod sursa (job #2774224) | Cod sursa (job #330235)
Cod sursa(job #330235)
# include <stdio.h>
const long int BAZA=100000000;
typedef struct NUMAR
{
long int v[1000];
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]/BAZA;
c.v[i]%=BAZA;
}
while (c.v[c.len+1])
{
c.len++;
c.v[c.len+1]+=c.v[c.len]/BAZA;
c.v[c.len]%=BAZA;
}
}
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");
fprintf(g,"%ld",v[n].v[v[n].len]);
for (i=v[n].len-1;i>=1;i--)
fprintf(g,"%08ld",v[n].v[i]);
fprintf(g,"\n");
fclose(g);
return 0;
}