본문 바로가기

파이썬/알고리즘

백준 10872번 [Python] 문제풀이 (팩토리얼) - 이정개

문제

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

 

 

입력

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

 

 

출력

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

 

 

예제 입력 1
10

 

 

예제 출력 1
3628800

 

예제 입력 2
0

 

 

예제 출력 2
1

 

알고리즘 분류

 

 

파이썬 코드(실패)
def pac(n):
    if n < 2: return n
    return n * pac(n-1)
print(pac(int(input())))

 

쉬운 코딩을 할때마다 실수를 조심하십시오

 

1!과 0! 모두 1이 된다는 것을 잊지 마세요 ** 

 

아무 생각없이 2 이하는 모두 n으로 반환했다가 0!일때 0을 반환해버려 실패했습니다

 

 

파이썬 코드(성공)

 

def pac(n):
    if n < 2: return 1
    return n * pac(n-1)
print(pac(int(input())))