[Swift 알고리즘] 콜라츠 추측

https://programmers.co.kr/learn/courses/30/lessons/12943

func solution(_ num:Int) -> Int {

    var answer = 0

    func collatz(_ dethp : Int,_ num : Int) {

        if dethp == 500 {
            answer = -1
            return
        }

        if num == 1 {
            answer = dethp
            return
        }

        if num % 2 == 0 {
            collatz(dethp + 1, num / 2)
        } else {
            collatz(dethp + 1, num * 3  + 1)
        }
    }

    collatz(0, num)

    return answer

}

좋은 웹페이지 즐겨찾기