백준 6571번 바로가기

나의 풀이

import sys
f = [1,2]+[0]*1002
for i in range(2,1004):
  f[i] = f[i-1] + f[i-2]

for i in sys.stdin:
  a,b=map(int,i.split())
  
  if a==0 and b==0:
    break
  
  count = 0
  for i in f:
    if a<=i and i<=b:
      count += 1
  print(count)

CODE REVIEW

  1. 주어진 범위에 해당하는 피보나치 수의 개수를 구하는 문제였다. 시간을 줄이기 위해서 미리 1004개에 해당하는 피보나치 수열을 구하고 범위에 속하는지 판단하는 방식으로 코드를 구현했다.