#include <iostream> #include <string> using namespace std; long long pot=1,fib0=0,fib1=1,fib; long long dl,x=0; string s; bool odp=0; int main() { cin >>s; dl=s.size(); for (int i=0;i<dl;i++) { x=x*10+s[i]-48; pot=pot*10; } for(long long i=2;i<10000000;i++) { fib=(fib0+fib1)%pot; fib0=fib1; fib1=fib; if (fib ==x) {cout <<i<<endl; odp=1; break;} } if (odp==0) cout <<"NIE"<<endl; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include <iostream> #include <string> using namespace std; long long pot=1,fib0=0,fib1=1,fib; long long dl,x=0; string s; bool odp=0; int main() { cin >>s; dl=s.size(); for (int i=0;i<dl;i++) { x=x*10+s[i]-48; pot=pot*10; } for(long long i=2;i<10000000;i++) { fib=(fib0+fib1)%pot; fib0=fib1; fib1=fib; if (fib ==x) {cout <<i<<endl; odp=1; break;} } if (odp==0) cout <<"NIE"<<endl; } |