데굴데굴

[파이썬] 10872번: 팩토리얼 본문

algorithm/백준

[파이썬] 10872번: 팩토리얼

aemaaeng 2022. 6. 14. 01:40

 

 

10872번: 팩토리얼

0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

0보다 크거나 같은 정수 N이 주어졌을 때 N! 출력하기

* 재귀함수를 사용할 것. 

 

참고링크: 백준 10872 [파이썬] 팩토리얼 (=계승) (tistory.com)

n = int(input())  # n 입력받기

def factorial(i):
    res = 1
    if i > 0:
        res = i * factorial(i - 1)
    return res


print(factorial(n))

팩토리얼의 성질 n! = n*(n-1)! 이용하기

0! = 1이므로 res의 초기값을 1로 지정해둔 후 0을 입력받았을 때에는 아무런 연산도 거치지 않고 res만 출력되도록 함. 

 

-

재귀함수는 전에 gcd 공부할 때 처음 배운건데 감이 잡힐 것 같다가도 잡히지 않고 아직은 익숙하지가 않다. 

이제 재귀함수 카테고리에 진입했으니까 계속 복습하고 또 풀어보면 언젠간 아하!하고 깨달을 날이 올 것이라 믿으며 계속 공부해야지..💪

Comments