본문 바로가기
인간은 어떻게 배울까

[백준-파이썬] 10872번 팩토리얼 (python)

by 개발하는 아인 2023. 6. 21.

https://www.acmicpc.net/problem/10872

 

10872번: 팩토리얼

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

www.acmicpc.net

 

팩토리얼이란?

팩토리얼이란, n부터 1까지 -1을 하며 곱한 수입니다.

n!의 형태로 표현됩니다.

즉 3! 이라면, 3 * 2 * 1 = 6이 되겠습니다.

 

주의) 0!은 1입니다. 왜냐하면 ...

 

10팩토리얼이라 하면 아래와 같겠죠.

 

10! = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1

 

 

그럼 풀이 나갑니다. :)

 

 

1. 재귀함수로 푼 코드

n = int(input())

def facto(n):
    if n == 0:
        return 1
    return n * facto(n -1)

print(facto(n))

내 코드

 

2. 숏코드

N=1
for i in range(int(input()),1,-1):N=N*i
print(N)

숏코드 1등이신 분의 풀이