#include <iostream> #include <cstdlib> using namespace std; int zera_wiadace(string liczba){ int akt=0; while(akt<liczba.size()){ if(liczba[akt]=='0') akt++; else break; } return akt; } int main(){ string liczba; cin >> liczba; unsigned long long ciag=0; int liczba_zer=zera_wiadace(liczba); unsigned long long akt_rozmiar=1; for(int i=liczba.size()-1; i>=liczba_zer; i--){ char akt=liczba[i]; ciag+=((int)akt-48)*akt_rozmiar; akt_rozmiar*=10; } unsigned long long pop=1; unsigned long long pop2=1; unsigned long long k=3; // cout << "ciag: " << ciag << endl; if(ciag==0) cout << "0" << endl; else if(ciag==1) cout << "1" << endl; else{ bool znaleziono=false; while(k<10000000){ if((pop+pop2)%akt_rozmiar==ciag) { // cout << "(pop+pop2)%akt_rozmiar: " << (pop+pop2)%akt_rozmiar << endl; cout << k << endl; znaleziono=true; break; } unsigned long long akt=pop; pop=pop2; pop2=(akt+pop2)%akt_rozmiar; k++; // cout << "k: " << k << " pop2: "<< pop2 << " ciag: " << ciag << endl; // system("pause"); } //cout << k << " "<< pop2 << endl; if(znaleziono==false) 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | #include <iostream> #include <cstdlib> using namespace std; int zera_wiadace(string liczba){ int akt=0; while(akt<liczba.size()){ if(liczba[akt]=='0') akt++; else break; } return akt; } int main(){ string liczba; cin >> liczba; unsigned long long ciag=0; int liczba_zer=zera_wiadace(liczba); unsigned long long akt_rozmiar=1; for(int i=liczba.size()-1; i>=liczba_zer; i--){ char akt=liczba[i]; ciag+=((int)akt-48)*akt_rozmiar; akt_rozmiar*=10; } unsigned long long pop=1; unsigned long long pop2=1; unsigned long long k=3; // cout << "ciag: " << ciag << endl; if(ciag==0) cout << "0" << endl; else if(ciag==1) cout << "1" << endl; else{ bool znaleziono=false; while(k<10000000){ if((pop+pop2)%akt_rozmiar==ciag) { // cout << "(pop+pop2)%akt_rozmiar: " << (pop+pop2)%akt_rozmiar << endl; cout << k << endl; znaleziono=true; break; } unsigned long long akt=pop; pop=pop2; pop2=(akt+pop2)%akt_rozmiar; k++; // cout << "k: " << k << " pop2: "<< pop2 << " ciag: " << ciag << endl; // system("pause"); } //cout << k << " "<< pop2 << endl; if(znaleziono==false) cout << "NIE" << endl; } } |