다음 파이썬 프로그램의 실행 결과는?def test(n): if(n&l… | [7급 국가직 알고리즘] 24년 1회차 기출문제 상세 페이지
1[7급 국가직 알고리즘] 24년 1회차
다음 파이썬 프로그램의 실행 결과는?def test(n):
if(n<0):
return 0
return n+test(n-2)
print(test(5))
1
5
2
8
3
9
4
10
해설
실행 결과는 9이다.
test(n)은 n이 음수가 될 때까지 n을 2씩 줄이며 더한다.
test(5) = 5 + test(3)
= 5 + 3 + test(1)
= 5 + 3 + 1 + test(-1)
= 9 + 0 = 9
- 5는 첫 항만 더하고 재귀 결과를 빠뜨린 값이다.
- 8은 5+3까지만 더하고 test(1)의 1을 빠뜨린 값이다.
- 10은 1부터 4까지의 합으로, 2씩 감소하는 5+3+1과 맞지 않는다.
오류나 개정된 내용이 보이면 알려주세요