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