Python

Python 문법 기초 21 - 재귀 함수(Recursive function)

코딩탕탕 2022. 10. 22. 16:37

 

# 재귀 함수(Recursive function) : 함수가 자기 자신을 호출 - 반복 처리

def CountDown(n):
    if n == 0:
        print('완료')
    else:
        print(n, end = ' ')
        CountDown(n - 1) # <== 요거 재귀 함수이다(자기가 자기를 부르고 있다.)
        
CountDown(5)


<console>
5 4 3 2 1 완료

재귀 함수(Recursive function) : 함수가 자기 자신을 호출 - 반복 처리하는 것이다.

 

print('1 ~ 10 까지의 합 구하기')
def tot(n):
    if n == 1:
        print('탈출')
        return True
    return n + tot(n - 1)

result = tot(10)
print('1 ~ 10 까지의 합은', result)

print('factorial : 1부터 어떤 양의 정수 n까지의 정수를 모두 곱한 것 n!')
# 5! = 5 * 4 * 3 * 2 * 1


<console>
1 ~ 10 까지의 합 구하기
탈출
1 ~ 10 까지의 합은 55
factorial : 1부터 어떤 양의 정수 n까지의 정수를 모두 곱한 것 n!

 

def factFunc(a):
    if a == 1:return 1
    print(a)
    return a * factFunc(a - 1)

result2 = factFunc(5)
print('5! : ', result2)


<console>
5
4
3
2
5! :  120

5! = 5 * 4 * 3 * 2 * 1 을 의미한다.