본문 바로가기
Swift/활용

Swift 팩토리얼 계산 함수 만들기 (재귀함수)

by 박신혁 2024. 11. 1.

팩토리얼이란

양의 정수 n에 대해, 1부터 n까지의 모든 정수를 곱한 값을 말한다. (수학에선 보통 !로 표현한다)

n! = n x (n - 1) x (n - 2) x  · · · x 1

3! = 3 x 2 x 1 = 6


팩토리얼 계산 함수

func factorial(_ n: Int) -> Int {
    var result = 1
    for i in 1...n {
        result *= i
    }
    return result
}

 

반복문을 사용한 팩토리얼 계산 함수


func factorial(_ n: Int) -> Int {
    if n <= 1 {
        return 1
    } else {
        return n * factorial(n - 1)
    }
}

 

재귀함수 방식을 사용한 팩토리얼 계산 함수

 

예시) factorial 함수에 3을 넣으면


factorial(3) = 3 * factorial(2)
factorial(2) = 2 * factorial(1)

factorial(1) = 1

 

factorial(1) = 1

factorial(2) = 2 * 1

factorial(3) = 3 * 2


 

재귀함수

함수 내부에 자신을 호출하는 함수를 말한다.

재귀함수는 호출을 멈추는 조건이 중요하다, 그렇지 않으면 무한히 자신을 호출하게 된다.

728x90

댓글