본문 바로가기
Algorithm/알고리즘 문제풀이

백준 10872 파이썬 - 팩토리얼

by devraphy 2021. 8. 17.

1. 문제 링크

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

 

10872번: 팩토리얼

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

www.acmicpc.net

 


2. 나는 어떻게 생각했는가? 

def factorial(n):
  result = 1
  while n > 0:
    result *= n
    n -= 1
    factorial(n)
  return result

n = int(input())
print(factorial(n))

- 내가 작성한 코드는 재귀적이다 라는 느낌이 없다.

- 재귀적이기 보다는 콜백의 느낌이 가까운 것 같다. 


3. 정답 코드

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

n = int(input())
print(factorial(n))

댓글