목록파이썬 재귀 (2)
job다한 공부

https://www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 #피보나치 def fiv(n): if n==0: return 0 if n==1: return 1 return fiv(n-2)+fiv(n-1) n=int(input()) print(fiv(n)) cs -재귀 알고리즘을 완벽하게는 이해하지 못했지만, 종료 조건을 잘 갖추고 규칙에 따라 재귀호출을 해야한다는 점까지는 이번..

https://www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 #팩토리얼 def fac(a): if a==0: return 1 return a*fac(a-1) n=int(input()) print(fac(n)) cs -이 문제는 반복문이 아니라 재귀 알고리즘으로 풀어야한다. 재귀는 함수 안에서 다시 함수를 호출하여 풀이하는 방식이다. 이 문제에서는 하나씩 줄어들게 곱해준다. 다시 함수를 불러오면 1씩 줄어들며 곱해진다. -재귀함수는 반드시 종료 조건이 있어야하고, 이 풀이에서는 a가 0이 되면 0이 곱해지며 종료되는 형식이다.