300x250
https://www.acmicpc.net/problem/10870
https://www.acmicpc.net/problem/10872
이번 문제는 재귀함수에 관한 문제였다.
문제는 재귀함수가 기억이 나지 않은 것이었다. 반복한다는 것만 기억이 났었는데 그걸 바탕으로 열심히 생각해보니 대충 기억이 났다.
'''피보나치'''
num = int(input())
def fibo(count):
if count <= 1:
return count
else:
return fibo(count-1) + fibo(count-2)
print(fibo(num))
'''팩토리얼'''
num = int(input())
def recursive(num):
if num <= 1:
return 1
else:
return num * recursive(num-1)
print(recursive(num))
원리는 간단하게 말해보면 만든 함수를 함수 내에서 다시 사용하는 것이다.
1에 도달할 때 값을 주며 재귀를 처리해나간다.
728x90
'IT > 알고리즘' 카테고리의 다른 글
[백준] 11729 하노이 탑 (0) | 2022.02.01 |
---|---|
[백준] 2447 별 찍기 (0) | 2022.02.01 |
[백준] 1011 Fly me to the Alpha Centauri 파이썬 (0) | 2022.01.16 |
[백준] 2869 달팽이는 올라가고 싶다. (0) | 2022.01.13 |
[백준] 1712 손익분기점 (0) | 2022.01.13 |
댓글