Pagini recente » Cod sursa (job #869147) | Cod sursa (job #1303698) | Cod sursa (job #191912) | Cod sursa (job #79192) | Cod sursa (job #1022590)
#include <cassert>
#include <cstdio>
#include <vector>
const int base= 10;
const int cmax= 209;
int x[cmax+1], y[cmax+1], aux[cmax+1];
int main( ) {
assert(freopen("nunta.in", "r", stdin));
assert(freopen("nunta.out", "w", stdout));
int n;
assert(scanf("%d", &n));
if ( n<=3 ) {
printf("%d\n", n);
return 0;
}
n-= 3;
x[0]= y[0]= 1;
x[1]= 3;
y[1]= 2;
while ( n>0 ) {
--n;
for ( int i= 0; i<=x[0]; ++i ) {
aux[i]= x[i];
}
int t= 0;
for ( int i= 1; i<=x[0] || i<=y[0] || t!=0; ++i ) {
if ( i>x[0] ) {
++x[0];
}
x[i]+= y[i]+t;
t= x[i]/base;
x[i]%= base;
}
for ( int i= 0; i<=aux[0]; ++i ) {
y[i]= aux[i];
}
}
for ( int i= x[0]; i>0; --i ) {
printf("%d", x[i]);
}
printf("\n");
return 0;
}