본문 바로가기
공부/알고리즘

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

by 무명오리 2024. 2. 29.

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

 

10872번: 팩토리얼

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

www.acmicpc.net


나의 코드

 

재귀는 너무 헷갈리는 것 같다...

import sys

n = int(sys.stdin.readline())

def fact(n):
    if (n == 0) | (n == 1):
        return 1
    else:
        return n*fact(n-1)

print(fact(n))

 

 

다른분들은 result = 1로 정의하시고 시작하시더라...

def fact(n):
    result = 1
    if n > 0:
        result = n * fact(n-1)
    return result

 

result = 1
if n > 0:
    for i in range(1, n+1):
        result *= i