import java.math.BigDecimal; import java.util.Collections; import java.util.LinkedList; import java.util.Scanner; public class fib{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); try { String a = sc.next("[0-9]+"); sc.close(); //System.out.println(a); if (a.length() < 0 || a.length() > 18 ){ System.out.println("NIE"); return; } else if (a.compareTo("0") == 0) { System.out.println(0); return; } else if (a.compareTo("1") == 0) { System.out.println(1); return; } else { BigDecimal k = new BigDecimal(10).pow(100); //System.out.println(k.toPlainString()); BigDecimal f = new BigDecimal(0); BigDecimal ff = new BigDecimal(1); BigDecimal kk = new BigDecimal(2); while (kk.compareTo(k) < 0){ BigDecimal ftemp = ff; ff = ff.add(f); f = ftemp; if (ff.toPlainString().endsWith(a)){ System.out.println(kk.toPlainString()); //break; return; } kk = kk.add(BigDecimal.ONE); } } } catch (Exception e) { } System.out.println("NIE"); } }
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 | import java.math.BigDecimal; import java.util.Collections; import java.util.LinkedList; import java.util.Scanner; public class fib{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); try { String a = sc.next("[0-9]+"); sc.close(); //System.out.println(a); if (a.length() < 0 || a.length() > 18 ){ System.out.println("NIE"); return; } else if (a.compareTo("0") == 0) { System.out.println(0); return; } else if (a.compareTo("1") == 0) { System.out.println(1); return; } else { BigDecimal k = new BigDecimal(10).pow(100); //System.out.println(k.toPlainString()); BigDecimal f = new BigDecimal(0); BigDecimal ff = new BigDecimal(1); BigDecimal kk = new BigDecimal(2); while (kk.compareTo(k) < 0){ BigDecimal ftemp = ff; ff = ff.add(f); f = ftemp; if (ff.toPlainString().endsWith(a)){ System.out.println(kk.toPlainString()); //break; return; } kk = kk.add(BigDecimal.ONE); } } } catch (Exception e) { } System.out.println("NIE"); } } |