Pagini recente » Cod sursa (job #2282315) | Cod sursa (job #2093657) | Cod sursa (job #1786527) | Cod sursa (job #2317776) | Cod sursa (job #2062263)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("nunta.in");
ofstream g("nunta.out");
int main()
{
short int i, N, a[999], b[999], c[999], a2=999, b2=999, c2=-1, vfa, vfb, aaux, baux, rest, ii;
f>>N;
if (N==1) { g<<1; return 0; }
if (N==2) { g<<2; return 0; }
a[--a2]=1; a[--a2]=1; aaux=a[a2]; vfa=a2;
b[--b2]=2; b[--b2]=1; baux=b[b2]; vfb=b2;
for (i=3; i<=N; i++) {
rest=0; a2++; b2++;
do {
c[++c2]=(a[a2]+b[b2]+rest)%10;
rest=(a[a2++]+b[b2++]+rest)/10;
aaux--; baux--;
} while (aaux && baux);
do {
if (aaux==baux) break;
if (aaux<baux) {
c[++c2]=(b[b2]+rest)%10;
rest=(b[b2++]+rest)/10;
}
else {
c[++c2]=(a[a2]+rest)%10;
rest=(a[a2++]+rest)/10;
}
} while (aaux || baux);
c[++c2]=c2;
if (i!=N) {
for (i=998; i>=vfb; i--) a[i]=b[i];
ii=999;
for (i=c2-1; i>=0; i--) b[--ii]=c[i];
b[--ii]=c2;
}
}
for (i=c2-1;i>=0;i--) g<<c[i];
f.close();
g.close();
return 0;
}