본문 바로가기
Algorithm/DFS&BFS&백트래킹&재귀

[백준] 10872번 팩토리얼

by HANNI하니 2023. 1. 23.

사용 언어 - Python3

10872번: 팩토리얼 (브론즈5, 재귀)

문제 ★재귀 문제

 

10872번: 팩토리얼

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

www.acmicpc.net

 

 

정답

재귀 함수 또는 for문으로 처리하기

(코드 풀이)

1. 정답1 - 재귀함수

def factorial(n) 재귀함수 정의하기

n이 0보다 클때만 result = n*factorial(n-1)

# 정답1

n = int(input())

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

2. 정답2 - for문

n이 0보다 클때만 i를 한개씩 증가시키면서 ans*= i 를 반복해준다.

# 정답2

n = int(input())
ans = 1

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

print(ans)

 


레퍼런스

  • 정답 참고
 

백준 10872 [파이썬] 팩토리얼 (=계승)

[파이썬] 백준 알고리즘 온라인 저지 10872번 : 팩토리얼 Python3 코드 1) 재귀 함수 코드 def factorial(n): result = 1 if n > 0 : result = n * factorial(n-1) return result n = int(input()) print(factorial(n)) 2) for문 코드 n = int(

ooyoung.tistory.com

  • 정답 깃허브
 

GitHub - yyeongeun/codingtest: 코딩테스트 공부

코딩테스트 공부. Contribute to yyeongeun/codingtest development by creating an account on GitHub.

github.com

 

댓글