반응형
문제
피보나치 수의 정의는 다음과 같다.
- f1 := 1
- f2 := 2
- fn := fn-1 + fn-2 (n ≥ 3)
두 수 a와 b가 주어졌을 때, 구간 [a, b]에 포함되는 피보나치 수의 개수를 구하는 프로그램을 작성하시오.
문제풀이
#01
a=[None]*480
a[0],a[1]=1,2
for i in range(2,480):
a[i]=a[i-1]+a[i-2]
while True:
cnt=0
x,y=map(int,input().split())
if(x==0 and y==0):
break
#02
for i in range(len(a)):
if(a[i]>=x):
if(a[i]<=y):
cnt+=1
else:
break
print(cnt)
- #01 : 피보나치 수열을 a[479] 까지 구해준다. 이후 while문을 시작한다.
- #02 : 입력받은 x와 y사이의 피보나치 수의 개수는 몇 갠지 for문을 통해 구한다.
구한 후 출력해주고, 다음 x,y 값에 대한 피보나치 수의 개수를 구한다.
'프로그래밍 > 백준' 카테고리의 다른 글
[알고리즘] 백준 14912 파이썬 - 숫자 빈도수 (0) | 2022.12.15 |
---|---|
[알고리즘] 백준 4358 파이썬 - 생태학 (0) | 2022.12.14 |
[알고리즘] 백준 20291 파이썬 - 파일 정리 (0) | 2022.12.12 |
[알고리즘] 백준 14650 파이썬 - 걷다보니 신천역 삼 (Small) (0) | 2022.12.11 |
[알고리즘] 백준 2942 파이썬 - 퍼거슨과 사과 (0) | 2022.12.10 |