종료조건(2)
-
[Python] 재귀 함수 - Return Value. 문제풀이 (홀수짝수 합, 최대최소, 점화식, 최소공배수)
1. 홀수끼리 짝수끼리 - 정수 n을 입력 - n이 홀수면 1~n까지 홀수의 합을 출력 - n이 짝수면 2~n까지 짝수의 합을 출력 def odd_or_even_sum(n): if n==1: return 1 if n==2: return 2 return odd_or_even_sum(n-2)+n n=int(input()) print(odd_or_even_sum(n)) 결과 >> 7 16 >> 10 30 - 홀수일 경우 1부터 n까지의 홀수 합이므로 n+(1부터 n-2까지의 합)으로 나타낼 수 있다. - n이 2씩 감소하여, n이 1일 경우 1부터 1까지 홀수 합이므로 1을 반환하고 이는 홀수일 때 종료 조건이 된다. - 짝수일 경우 2부터 n까지의 홀수 합이므로 n+(2부터 n-2까지의 합)으로 나타낼 수 ..
2023.01.23 -
[Python] 재귀함수 - 값이 반환되지 않을 때, 종료 조건, 출력 위치, 대칭 문제
1) 재귀함수 n개의 줄에 걸쳐 별을 출력하는 문제 n=5일 경우 * * * * * - print_star(n) 함수 정의 : 1~n번째 줄까지 별을 출력한다. - print_star(n-1)을 먼저 수행하여 1~n-1번째 줄까지 별을 출력 후, n번째 줄을 출력을 정의한다. - 이러한 방식으로 해당 함수를 구현하는데 동일한 함수를 다시 이용하게 되는 것을 재귀함수라고 한다. def print_star(n): print_star(n-1) print('*') ● 문제점 - print_star(5) 함수가 print_star(4)를 부르게 되고 4는 3을, 3은 2를,..., 0은 -1을, -1은 -2를,... 무한대로 부르게 된다. - 이러한 문제를 해결하기 위해 재귀 함수는 종료 조건을 적절하게 설정해야..
2023.01.20