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
import java.util.Scanner;

public class fib {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        String lookingFor = s.next();
        if (lookingFor.equals("0")) {
            System.out.println("0");
            return;
        } else if (lookingFor.equals("1")) {
            System.out.println("1");
            return;
        }

        long fib1 = 1;
        long fib2 = 1;
        for (int i = 3; i < 3000000; i++) {
            long fib = (fib1 + fib2) % 1000000000000000000L;
            if (Long.toString(fib).endsWith(lookingFor)) {
                System.out.println(i);
                return;
            }

            fib1 = fib2;
            fib2 = fib;
        }
        System.out.println("NIE");
    }
}