728x90
문제
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
https://www.acmicpc.net/problem/10872
입력
첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다.
출력
첫째 줄에 N!을 출력한다.
예제 입력 1
10
예제 출력 1
3628800
예제 입력 2
0
예제 출력 2
1
문제 풀이
N = int(input())
ans = 1
if N > 0:
for i in range(1,N+1):
ans *= i
print(ans)
입력받은 N을 팩토리얼하는 단순한 문제로 저는 for문을 활용해서 문제를 풀었습니다.
다만, 다른 분들 코드를 보니 재귀함수를 사용하여 푸는 방법도 있어 하기 풀이 방법 또한 학습하면 좋을 것 같아 공유 드립니다.
*재귀함수: 정의 단계에서 자신을 재참조하는 함수
N = int(input())
def fact(num):
if num == 0:
return 1
return num * fact(num-1)
print(fact(N))
저처럼 파이썬을 독학하시는 분들에게 도움이 되길 바라며,
혹 더 좋은 방법이 있거나 오류가 있다면 편하게 말씀 부탁드립니다.
728x90