https://www.acmicpc.net/problem/10872
재귀 함수란 어떤 함수에서 자신을 다시 호출하여 작업을 수행하는 방식의 함수를 의미한다. 종료 조건이 꼭 포함되어야 무한루프를 방지할 수 있다.
import Foundation
let input = readLine()
let n = Int(input!)!
func factorial(_ n: Int) -> Int {
if n == 0 || n == 1 { return 1 }
return n * factorial(n - 1)
}
print(factorial(n))