Pagini recente » Cod sursa (job #3163314) | Istoria paginii utilizator/florina15 | Statistici Vlad Petru-Marius (petru.vlad) | Cod sursa (job #275983) | Cod sursa (job #1839743)
#include <cstdio>
#include <vector>
#define BASE 100000000
using namespace std;
FILE *f=fopen("nunta.in","r");
FILE *g=fopen("nunta.out","w");
int V[4][100];
int N;
void add(int a[],int b[],int c[])
{
c[0]=0;
int n=max(a[0],b[0]),t=0;
for(int i=1;i<=n||t;i++)
{
c[i]=((i<=a[0] ? a[i]:0)+(i<=b[0] ? b[i]:0)+t);
t=c[i]/BASE;
c[0]++;
}
}
void copiere(int a[],int b[])
{
for(int i=0;i<=b[0];i++)
a[i]=b[i];
}
int main()
{
fscanf(f,"%d",&N);
V[2][0]=V[2][1]=1;
V[3][0]=1;V[3][1]=2;
if(N<=2)
{
fprintf(g,"%d",(N==1 ? 1:2));
}
else
{
int i=3;
while(i<=N)
{
copiere(V[1],V[2]);
copiere(V[2],V[3]);
add(V[1],V[2],V[3]);
i++;
}
int n=V[3][0];
for(int i=n;i>0;i--)
{
int CB=BASE/10;
while(CB>V[3][i]&&i!=n)
{
CB/=10;
fprintf(g,"0");
}
fprintf(g,"%d",V[3][i]);
}
}
fclose(f);
fclose(g);
return 0;
}