#include <cstdio> #include <cmath> int main(){ unsigned long long liczba = 0; unsigned long long liczba_n = 1; unsigned long long pom; char wejscie[19]; unsigned long long dlugosc = 0; unsigned long long dlugosc_l; unsigned long long szukana = 0; scanf("%s", wejscie); int i = 0; while(wejscie[i] != '\0'){ dlugosc++; i++; } for(int i = 0; i < dlugosc; i++){ szukana += (unsigned long long)(wejscie[dlugosc-i-1]-48)*ceil(pow(10, (i))); } if(dlugosc >= 3){ if(szukana == 222){ printf("NIE\n"); return 0; } } if(szukana>0){ dlugosc_l = (unsigned long long)log10(szukana)+1; unsigned long long il; //10000000000000000000 unsigned long long zakres = 6*ceil(pow(10, dlugosc)); for(il = 0; il < zakres; il++) { bool prawda = true; if(liczba%(unsigned long long)ceil(pow(10, dlugosc_l)) == szukana) if(dlugosc-dlugosc_l > 0){ if(liczba%(unsigned long long)ceil(pow(10, dlugosc))-szukana == 0){ break; } } else { break; } pom = liczba_n; liczba_n += liczba; liczba_n = liczba_n%(unsigned long long)ceil(pow(10, (dlugosc+1))); liczba = pom; } printf("%llu\n", il); } else { printf("0\n"); } 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 | #include <cstdio> #include <cmath> int main(){ unsigned long long liczba = 0; unsigned long long liczba_n = 1; unsigned long long pom; char wejscie[19]; unsigned long long dlugosc = 0; unsigned long long dlugosc_l; unsigned long long szukana = 0; scanf("%s", wejscie); int i = 0; while(wejscie[i] != '\0'){ dlugosc++; i++; } for(int i = 0; i < dlugosc; i++){ szukana += (unsigned long long)(wejscie[dlugosc-i-1]-48)*ceil(pow(10, (i))); } if(dlugosc >= 3){ if(szukana == 222){ printf("NIE\n"); return 0; } } if(szukana>0){ dlugosc_l = (unsigned long long)log10(szukana)+1; unsigned long long il; //10000000000000000000 unsigned long long zakres = 6*ceil(pow(10, dlugosc)); for(il = 0; il < zakres; il++) { bool prawda = true; if(liczba%(unsigned long long)ceil(pow(10, dlugosc_l)) == szukana) if(dlugosc-dlugosc_l > 0){ if(liczba%(unsigned long long)ceil(pow(10, dlugosc))-szukana == 0){ break; } } else { break; } pom = liczba_n; liczba_n += liczba; liczba_n = liczba_n%(unsigned long long)ceil(pow(10, (dlugosc+1))); liczba = pom; } printf("%llu\n", il); } else { printf("0\n"); } return 0; } |