#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; } |
English