1. 재귀함수(recursion)

내가 나를 호출하여 반복적으로 값을 출력하는 함수입니다. 아래 코드는 실행시키지 마세요! 무한 반복됩니다.

입력

#sys.setrecursionlimit -> 제한을 늘릴 수 있음
def 숫자출력():
    print(1)
    return 숫자출력()
숫자출력()

출력

1
1
1
.
.
.
1
1
1

재귀함수는 반복횟수가 정해져 있어 반복횟수만큼 값이 출력됩니다.

1.1. 무한 반복에 종료 조건을 부여

count 변수를 넣어 종료 전까지 증가하게 한 다음, 조건을 하나 부여하여 종료할 수 있도록 설정합니다.

입력

#sys.setrecursionlimit -> 제한을 늘릴 수 있음
def 숫자출력(count):
    if count > 100:
        return
    print(count)
    return 숫자출력(count+1) #값을 1부터 반복횟수 까지의 값을 출력

숫자출력(1)

출력

1
2
3
.
.
.
95
96
97
98
99
100

1.2 factorial 함수

팩토리얼을 재귀함수로 풀어보도록 하겠습니다.