본문 바로가기
카테고리 없음

[백준 10872번] '케이원' 파이썬(python) 재귀 I 팩토리얼

by MD.Kang 2021. 5. 12.

문제

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

입력

첫째 줄에 정수 N(0 ≤ N ≤ 12)가 주어진다.

출력

첫째 줄에 N!을 출력한다.

예제 입력 1 

10

예제 출력 1

3628800

예제 입력 2

0

예제 출력 2

1

 

함수와 가정문을 사용해 만든 코드

n = int(input())
def factorial(n):
    result = 1
    if n > 0:
        result = n * factorial(n - 1)
    return result

print(factorial(n))

반복문을 이용한 코드

n = int(input())
result = 1
if n > 0:
    for i in range(1, n + 1):
        result *= 1
print(result)

 

알았던 내용

반복문이나 함수를 사용하여 재귀를 할 수 있다는 것.

 

몰랐던 내용

정확히 반복문으로 팩토리얼을 구현하는 방법을 몰랐다. 또한 함수와 가정문을 이용해서 팩토리얼을 구현하는 코드를 어설프게 알았다.

 

배운 내용

함수와 가정문, 반복문으로 재귀함수를 사용할 수 있게됨으로서 더 복잡한 계산 연산식을 더 수월하게 할 수 있게되었다.