10872번: 팩토리얼
반복문을 활용한 방법 🤷♂️
import Foundation
let n = Int(readLine()!)!
if n == 0 {
print(1)
exit(0)
}
var result = 1
for i in 1...n {
result *= i
}
print(result)
- 약간 덜 세련된(?) 방식입니다.
- 중간에 0이 입력되는 경우 예외처리를 따로 해주어야 합니다. (실행이 종료되도록)
- 1에 1 ~ n까지 곱해주고 출력합니다.
재귀함수를 활용하는 방법 🙆♂️
func factorial(_ n: Int) -> Int {
if n <= 1 {
return 1
}
return n * factorial(n - 1)
}
let n = Int(readLine()!)!
print(factorial(n))
- 탈출 조건은 n이 1 이하가 되었을 때 입니다.
- 탈출 조건으로 인해 0이 입력되는 경우 별도의 예외 처리가 필요 없습니다.
- n에 factorial(n - 1)을 곱해 리턴합니다.