https://www.acmicpc.net/problem/6571
피보나치 수의 정의는 다음과 같다.
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 음이 아닌 두 정수 a와 b로 이루어져 있다. 입력의 마지막 줄에는 0이 두 개 주어진다. (a ≤ b ≤ 10100) 두 수 a와 b는 0으로 시작하지 않는다.
각 테스트 케이스에 대해서, a ≤ fi ≤ b 인 피보나치 수 fi의 개수를 출력한다.
dp = [0 for i in range(1001)]
dp[1] = 1
dp[2] = 2
for i in range(3,1001,1):
dp[i] = dp[i - 1] + dp[i - 2]
while 1:
a,b = map(int,input().split())
if a==0 and b==0:
break
cnt = 0
for i in range(1,1001,1):
if a <= dp[i] and dp[i] <= b:
cnt+=1
print(cnt)