#include <iostream>
#include <math.h>
using namespace std;
const int N = 220 ;
int ctrl = 0 ;
div_t t;
void add( int a[ N] , int b[ N] , int c[ N] ) {
memset ( c, 0 , sizeof ( int ) * N) ;
int i = 0 ;
for ( i = N - 1 ; i >= 0 ; i-- ) {
if ( t.quot ) {
c[ i] ++ ;
if ( i < ctrl) ctrl = i;
}
t = div ( ( c[ i] + a[ i] + b[ i] ) ,10 ) ;
c[ i] = t.rem ;
}
}
int main( )
{
int fib0[ N] ; int fib1[ N] ; int fib2[ N] ;
memset ( fib0, 0 , sizeof ( int ) * N) ;
memset ( fib1, 0 , sizeof ( int ) * N) ;
memset ( fib2, 0 , sizeof ( int ) * N) ;
int n;
cin >> n;
fib0[ N - 1 ] = 1 ; fib1[ N - 1 ] = 1 ;
ctrl = N - 1 ;
if ( n< 2 ) fib2[ N - 1 ] = 1 ;
for ( int i = 2 ; i <= n; i++ )
{
add( fib0, fib1, fib2) ;
memmove ( fib0, fib1, sizeof ( int ) * N) ;
memmove ( fib1, fib2, sizeof ( int ) * N) ;
}
for ( int i = ctrl; i < N; i++ ) cout << fib2[ i] ;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWF0aC5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgTiA9IDIyMDsKaW50IGN0cmwgPSAwOwpkaXZfdCB0Owp2b2lkIGFkZChpbnQgYVtOXSwgaW50IGJbTl0sIGludCBjW05dKXsKICBtZW1zZXQoYywgMCwgc2l6ZW9mKGludCkqTik7CiAgaW50IGkgPSAwOwogIGZvcihpID0gTiAtIDE7IGkgPj0gMDsgaS0tKXsKICAgIGlmKHQucXVvdCl7CiAgICAgIGNbaV0rKzsKICAgICAgaWYoaSA8IGN0cmwpIGN0cmwgPSBpOwogICAgfQogICAgdCA9IGRpdigoY1tpXSArIGFbaV0gKyBiW2ldKSwxMCk7CiAgICBjW2ldID0gdC5yZW07CiAgfQp9CmludCBtYWluKCkKewogaW50IGZpYjBbTl07aW50IGZpYjFbTl07aW50IGZpYjJbTl07CiBtZW1zZXQoZmliMCwgMCwgc2l6ZW9mKGludCkqTik7CiBtZW1zZXQoZmliMSwgMCwgc2l6ZW9mKGludCkqTik7CiBtZW1zZXQoZmliMiwgMCwgc2l6ZW9mKGludCkqTik7CiBpbnQgbjsKIGNpbj4+bjsKIGZpYjBbTiAtIDFdID0gMTtmaWIxW04gLSAxXSA9IDE7CiBjdHJsID0gTiAtIDE7CiBpZihuPDIpIGZpYjJbTiAtIDFdID0gMTsKIGZvciAoaW50IGkgPSAyO2kgPD0gbjtpKyspCiB7CiAgIGFkZChmaWIwLCBmaWIxLCBmaWIyKTsKICAgbWVtbW92ZShmaWIwLCBmaWIxLCBzaXplb2YoaW50KSpOKTsKICAgICAgbWVtbW92ZShmaWIxLCBmaWIyLCBzaXplb2YoaW50KSpOKTsKIH0KIGZvcihpbnQgaSA9IGN0cmw7IGkgPCBOOyBpKyspIGNvdXQ8PGZpYjJbaV07CiByZXR1cm4gMDsKfQ==
compilation info
prog.cpp: In function ‘void add(int*, int*, int*)’:
prog.cpp:8:29: error: ‘memset’ was not declared in this scope
memset(c, 0, sizeof(int)*N);
^
prog.cpp: In function ‘int main()’:
prog.cpp:22:31: error: ‘memset’ was not declared in this scope
memset(fib0, 0, sizeof(int)*N);
^
prog.cpp:33:37: error: ‘memmove’ was not declared in this scope
memmove(fib0, fib1, sizeof(int)*N);
^
stdout