Pagini recente » Cod sursa (job #1783952) | Monitorul de evaluare | Profil TrocaruCristian | Profil sugpula12345 | Cod sursa (job #2021133)
#include <cstdio>
using namespace std;
char v[2][209];
short cf[2];
void adun (short s){
short i,t=0,pls;
for (i=0;i<cf[s];i++){
v[s][i]+=v[1-s][i]+t;
t=v[s][i]/10;
v[s][i]%=10;
}
pls=0;
for (i=cf[s];i<cf[1-s];i++){
v[s][i]=v[1-s][i]+t;
t=v[s][i]/10;
v[s][i]%=10;
pls++;
}
cf[s]+=pls;
while (t>0){
cf[s]++;
v[s][cf[s]-1]=t%10;
t/=10;
}
}
int main()
{
FILE *fin=fopen ("nunta.in","r");
FILE *fout=fopen ("nunta.out","w");
short n,i,t;
fscanf (fin,"%hd",&n);
if (n<=2){
fprintf (fout,"%hd",n);
return 0;
}
v[0][0]=1;
v[1][0]=2;
cf[0]=1;
cf[1]=1;
t=0;
for (i=3;i<=n;i++){
adun (t);
t=1-t;
}
t=1-t;
for (i=cf[t]-1;i>=0;i--)
fputc (v[t][i]+'0',fout);
return 0;
}