for
문으로 푼 경우N = int(input())
res = 1
for n in range(N, 0, -1):
res = res*n
print(res)
재귀함수
로 푼 경우def factorial(N):
if N == 1:
return 1
elif N == 0 :
return 1
return N *factorial(N-1)
N = int(input())
print(factorial(N))
사실 if
, elif
분기시켜 놓은 것도 결과적으로는 같은 값을 출력하게끔 돼 있어서 굳이 나눌 필요는 없겠다.
메모리는 고만고만한데 소요 시간이 재귀함수가 더 짧네