반응형
표준 입력으로 정수 한 개가 입력됩니다(입력 값의 범위는 10~30). 다음 소스 코드를 완성하여 입력된 정수에 해당하는 피보나치 수가 출력되게 만드세요.
피보나치 수는 0과 1로 시작하며, 다음 번 피보나치 수는 바로 앞의 두 피보나치 수의 합입니다.
*피보나치 수열*
f(n) = 1 (n<=2 일 때)
f(n) = f(n-2)+f(n-1) (n>2 일 때)
n
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21...
결과
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946...
0>0
1>1
2>1
3>2
4>3
5>5
...
문제
1
2
3
4
5
6
7
8
|
________________
________________
________________
________________
________________
n = int(input())
print(fib(n))
|
cs |
입력
10
결과
55
입력
20
결과
6765
답
1
2
3
4
5
|
def fib(n):
if n<=1:
return n #n이 0이면 결과0, 1이면 결과1
else:
return fib(n-1)+fib(n-2)
|
cs |
반응형
'Python > 코딩도장' 카테고리의 다른 글
코딩도장_파이썬 심사문제 33.6 (카운트다운 함수 만들기) (0) | 2020.08.11 |
---|---|
코딩도장_파이썬 심사문제 32.5 (파일 이름을 한꺼번에 바꾸기) (0) | 2020.08.11 |
코딩도장_파이썬 심사문제 30.7 (가장 낮은 점수, 높은 점수와 평균 점수를 구하는 함수 만들기) (0) | 2020.08.08 |
코딩도장_파이썬 심사문제 29.4 (사칙 연산 함수 만들기) (0) | 2020.08.07 |
코딩도장_파이썬 심사문제 28.4 (파일에서 회문인 단어 출력하기) (0) | 2020.08.04 |
댓글