Skip to content

Commit d2bbef9

Browse files
authored
Merge pull request #111 from andreschlaepfer/main
fibonacci2 added 😎
2 parents 4bef277 + 28eddc7 commit d2bbef9

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

src/swift/fibonacci2.swift

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
//
2+
// fibonacci2.swift
3+
//
4+
// Created by Andre Schlaepfer on 30/08/21.
5+
//
6+
// funcao fibonacci sem loops explicitos
7+
// A complexidade desse algoritmo é dada pela complexidade
8+
// de pow(base, expoente)
9+
10+
import Foundation
11+
12+
func fibonacci(_ number: Int) -> Int
13+
{
14+
let a = (1+sqrt(5))/2
15+
let b = (1-sqrt(5))/2
16+
let n = Double(number) // pow(x,y) só recebe Double
17+
let fib = (pow(a, n) - pow(b, n))/sqrt(5)
18+
let result = floor(fib)
19+
return Int(result)
20+
21+
}
22+
23+
for i in 0...15{
24+
print(fibonacci(i))
25+
}
26+
27+

0 commit comments

Comments
 (0)