Written by
Amy
on
on
팩토리얼, 피보나치 수열
팩토리얼 값을 구하는 함수
Factorial: 1부터 어떤 양의 정수 n까지의 정수를 모두 곱한 것, n!
func factorial(num: Int) -> Int {
var total: Int = num
if num == 0 {
return 1
}
total *= factorial(num: num-1)
return total
}
피보나치 수열 N번째 값 구하기
01. 첫 번째 접근
func pibonachi(num: Int) -> Int {
var index: Int = 0
if num == 1 || num == 2 {
return 1
}
index += pibonachi(num: num-2) + pibonachi(num: num-1)
return index
}
02. 더 간단히 표현하기 (변수 제거!)
func piboSecond(num: Int) -> Int {
if num == 1 || num == 2 { return 1 }
return piboSecond(num: num-1) + piboSecond(num: num-2)
}
03. 더 더 간단히 표현하기 (삼항 연산자)
func piboThird(num: Int) -> Int {
return (num == 1 || num == 2) ? 1 : piboThird(num: num-1) + piboThird(num: num-2)
}
04. 피보나치 수열의 합산 구하기
func pivoTotal(num: Int) -> Int {
var total: Int = 0
for i in 1...num {
total += piboThird(num: i)
}
return total
}