피 보 나치 알고리즘 의 세 가지 해법 (swift)
피 보 나치 수 는 보통 F (n) 로 표시 되 는데 형 성 된 서열 을 피 보 나치 수열 이 라 고 한다.이 수열 은 0 과 1 로 시작 되 며, 뒤의 모든 숫자 는 앞의 두 개의 숫자 를 합 친 것 이다.즉:
F(0) = 0, F(1) = 1
F(N) = F(N - 1) + F(N - 2), N > 1.
주어진 N, 계산 F (N).
해법:
// : , O(2^n)
func fib(_ n : Int) -> Int{
if n <= 1 {
return n
}
return fib(n-2) + fib(n-1)
}
// : , O(n)
func fib(_ n : Int) -> Int{
if n <= 1 {
return n
}
var first : Int = 0
var second : Int = 1
for _ in 1.. Int{
let c : Double = sqrt(5)
return Int((pow((1+c)/2, Double(n)) - pow((1-c)/2, Double(n)))/c)
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.