Python/백준

10872_팩토리얼

728x90

문제는 더보기!

 

더보기

문제

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

입력

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

출력

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

예제 입력 1 복사

10

예제 출력 1 복사

3628800

예제 입력 2 복사

0

예제 출력 2 복사

1

for문을 이용하여 단순하게 구현할 수도 있다!!

 

a = int(input())
result = 1

for i in range(a):
  while a !=0:
    result *= a
    a -= 1

print(result)

하지만 파트가 재귀함수이므로 재귀함수로도 풀어보았다.

 

재귀함수적으로 생각해서 5면 5*4만하고, 4면 4*3만 하는식으로 단순하게 끊어서 작동하게끔 구현해보았다.

 

def factorial(N):
    if N in (0,1):
        return 1
    return N * factorial(N-1)

print(factorial(int(input())))

 

728x90

'Python > 백준' 카테고리의 다른 글

2775_부녀회장이 될테야  (0) 2021.11.20
10870_피보나치 수열  (0) 2021.11.20
1002_터렛_백준오류가 있는 듯 하다??!  (0) 2021.11.19
3053_택시기하학  (0) 2021.11.19
4153_직각삼각형  (0) 2021.11.18