Coding
fibonacci. index에 해당하는 값은?
out of coding
2019. 11. 27. 19:39
func fibonacci(_ n: Int) -> String {
guard n != 0 else {
return "0"
}
var before = 0
var now = 1
for _ in 2...abs(n) {
let sum = before + now
before = now
now = sum
}
if n < 0 && n % 2 == 0 {
now *= -1
}
return "\(now)"
}
let result = fibonacci(-3)
print("fibonacci = \(result)")
일반적인 피보나치 수열을 만들때는 양수를 넣어서 만들어 줍니다.
그렇지만 음수를 넣고 만들어 주는 방식을 할수가 있는데요.
그렇게 되면
양수의 경우에는 0, 1, 1, 2, 3, 5, 8...
음수의 경우에는 0, 1, -1, 2, -3, 5, -8...
이런 숫자가 나오게 됩니다.
피보나치가 보고 싶네요... ㅋ
아무튼 이 수치를 잘 보면 음수의 경우에는 짝수의 경우일 때만 -가 들어가면 되는 겁니다.
그래서 마지막에 -1을 구하는 식을 한번만 더 넣어주면 됩니다.
재밌네요...