재귀 함수 (3) - 재귀 함수의 대표적인 예 : 팩토리얼 (Factorial)

2023. 7. 30. 15:38· Algorithm

재귀 함수로 구현할 수 있는 대표적인 문제는 바로 팩토리얼 (Factorial) 문제이다. 

팩토리얼이란 수학에서 그 수보다 작거나 같은 모든 자연수의 곱이다. n이 하나의 자연수일 때, 1부터 n 까지의 모든 자연수의 곱을           n! (n 팩토리얼) 로 표현하는 것이다.

팩토리얼을 구하는 방식은 두 가지로 떠올릴 수 있다.

  • 반복문을 통하여 자연수의 곱을 구하는 방식
  • 재귀 함수를 통하여 자연수의 곱을 구하는 방식

 


재귀 함수로 이 문제를 해결하였을 때의 장점은 무엇일까? 바로 소스코드가 간결해진다는 것이다. 그러한 이유는 재귀 함수가 수학의 점화식 (재귀식)을 그대로 소스코드로 옮겼기 때문이다. 수학에서 점화식은 특정한 함수를 자신보다 더 작은 변수에 대한 함수와의 관계로 표현한 것을 의미하는데 팩토리얼을 수학적 점화식으로 표현하면 아래와 같다.

  1. n이 0 또는 1일 때 : factorial(n) = 1
  2. n이 1보다 클 때 : factorial(n) = factorial(n-1) * n

이 점화식에서 1번 구문인 n이 0 또는 1일 때가 이 재귀 함수의 종료 조건이 되는 것이다. 이러한 점화식을 재귀 함수에서 찾아볼 수 있듯이 결국에는 재귀 함수가 반복문에 비해 더욱 간결한 형태임을 확인할 수 있는 것이다.

저작자표시 (새창열림)

'Algorithm' 카테고리의 다른 글

자료구조 (Data Structure) (5) - 그래프 표현 방식 : 인접 행렬 (Adjacency Matrix)  (0) 2023.07.30
자료구조 (Data Structure) (4) - 그래프 (Graph) 란?  (0) 2023.07.30
재귀 함수 (2) - 재귀 함수의 종료 조건  (0) 2023.07.30
재귀 함수 (1) - 재귀 함수 (Recursive Function) 란?  (0) 2023.07.30
자료구조 (Data Structure) (3) - 큐 (Queue) 란?  (0) 2023.07.30
'Algorithm' 카테고리의 다른 글
  • 자료구조 (Data Structure) (5) - 그래프 표현 방식 : 인접 행렬 (Adjacency Matrix)
  • 자료구조 (Data Structure) (4) - 그래프 (Graph) 란?
  • 재귀 함수 (2) - 재귀 함수의 종료 조건
  • 재귀 함수 (1) - 재귀 함수 (Recursive Function) 란?
공대생안씨
공대생안씨
전자공학과 학부생의 코딩 일기
티스토리
|
로그인
공대생안씨
공대생의 코딩 일기
공대생안씨
글쓰기
|
관리
전체
오늘
어제
  • All Categories (153)
    • Spring Boot (46)
      • JPA (7)
      • Lombok (2)
    • Java (21)
    • DevOps (3)
      • CI,CD (8)
      • Monitoring (2)
    • Database (7)
      • MySQL (5)
      • MongoDB (1)
      • H2 (1)
    • Trouble Shooting (5)
    • FE (4)
    • IntelliJ (3)
    • Git (3)
    • Algorithm (41)

블로그 메뉴

  • 홈
  • 태그
  • Github

공지사항

인기 글

hELLO · Designed By 정상우.v4.2.2
공대생안씨
재귀 함수 (3) - 재귀 함수의 대표적인 예 : 팩토리얼 (Factorial)
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.