티스토리 뷰

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을 구하는 식을 한번만 더 넣어주면 됩니다.

 

재밌네요...

'Coding' 카테고리의 다른 글

이진트리의 순회.  (0) 2020.07.01
배열에서 가장 큰 정사각형 찾기  (0) 2019.12.02
c0dility. 1. BinaryGap  (0) 2019.11.23
Stack을 이용하여 Queue 만들기  (0) 2019.11.21
ROT13  (0) 2019.08.14
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함