아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

피보나치 수의 개수

시간 제한1초메모리 제한256 MB

요약
10^100까지의 a와 b 쌍마다 닫힌 구간 [a, b]에 들어가는 피보나치 수의 개수를 센다.
난이도

보통10점 중 5점

유형
수학, 이분 탐색, 문자열, 완전 탐색
정답자
아직 제출이 없습니다

문제

피보나치 수는 다음과 같이 정의된다.

  • f1=1f_1 = 1
  • f2=2f_2 = 2
  • fn=fn−1+fn−2f_n = f_{n-1} + f_{n-2} (단, n≥3n \ge 3)

두 정수 aa와 bb가 주어질 때, 구간 [a,b][a, b]에 속하는 피보나치 수의 개수를 구하는 프로그램을 작성하시오. 즉, a≤fi≤ba \le f_i \le b를 만족하는 피보나치 수 fif_i의 개수를 세면 된다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 한 줄에 음이 아닌 두 정수 aa와 bb가 공백으로 구분되어 주어진다 (a≤b≤10100a \le b \le 10^{100}). 두 수는 불필요한 앞자리 0 없이 주어진다. 입력의 마지막 줄에는 00이 두 개 주어지며, 이 줄은 처리하지 않는다.

출력

각 테스트 케이스마다 a≤fi≤ba \le f_i \le b를 만족하는 피보나치 수 fif_i의 개수를 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    10 100
    1234567890 9876543210
    0 0
    
    예상 출력
    5
    4