#include <cstdlib> #include <iostream> #include <algorithm> #include <vector> using namespace std; long long n,i,m,f1=1,f2=1,f,k; int ile_cyfr=0,modulo=1, j; int zli[1000006]; int kt[1000006]; string s; int main(int argc, char *argv[]) { ios_base::sync_with_stdio(0); zli[1]=1; for(i=3;i<=1499998;++i) {f=(f1+f2)%100000000000000000; m = f%1000000; if(zli[m]==0) { kt[m] = i; zli[m] = 1; } f2=f1; f1=f;} cin >> s; ile_cyfr = s.size(); //k = 0; //for(i = 0; i < s.size();++i) k = k*10 + int(s[i]-'0'); if(ile_cyfr > 6) { ile_cyfr = 6; s = s.substr(s.size() - 7, 6); } //cout<<ile_cyfr<<endl; //for(i = 1; i <= ile_cyfr;++i) modulo *=10; for(i = 2; i < 1000000; ++i) { if(zli[i] == 1) { k = i; for(j = ile_cyfr - 1; k > 0 && j >= 0; --j){ //cout << s[j]; if(k%10 != int(s[j]-'0') ) break; k = k/10; } if(j == -1 ) { //cout << endl << i << endl; cout <<kt[i]; break; } } } if(i==1000000) cout <<"NIE"; return 0; }
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | #include <cstdlib> #include <iostream> #include <algorithm> #include <vector> using namespace std; long long n,i,m,f1=1,f2=1,f,k; int ile_cyfr=0,modulo=1, j; int zli[1000006]; int kt[1000006]; string s; int main(int argc, char *argv[]) { ios_base::sync_with_stdio(0); zli[1]=1; for(i=3;i<=1499998;++i) {f=(f1+f2)%100000000000000000; m = f%1000000; if(zli[m]==0) { kt[m] = i; zli[m] = 1; } f2=f1; f1=f;} cin >> s; ile_cyfr = s.size(); //k = 0; //for(i = 0; i < s.size();++i) k = k*10 + int(s[i]-'0'); if(ile_cyfr > 6) { ile_cyfr = 6; s = s.substr(s.size() - 7, 6); } //cout<<ile_cyfr<<endl; //for(i = 1; i <= ile_cyfr;++i) modulo *=10; for(i = 2; i < 1000000; ++i) { if(zli[i] == 1) { k = i; for(j = ile_cyfr - 1; k > 0 && j >= 0; --j){ //cout << s[j]; if(k%10 != int(s[j]-'0') ) break; k = k/10; } if(j == -1 ) { //cout << endl << i << endl; cout <<kt[i]; break; } } } if(i==1000000) cout <<"NIE"; return 0; } |