Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
12
Task/Fibonacci-sequence/Swift/fibonacci-sequence-1.swift
Normal file
12
Task/Fibonacci-sequence/Swift/fibonacci-sequence-1.swift
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
import Cocoa
|
||||
|
||||
func fibonacci(n: Int) -> Int {
|
||||
let square_root_of_5 = sqrt(5.0)
|
||||
let p = (1 + square_root_of_5) / 2
|
||||
let q = 1 / p
|
||||
return Int((pow(p,CDouble(n)) + pow(q,CDouble(n))) / square_root_of_5 + 0.5)
|
||||
}
|
||||
|
||||
for i in 1...30 {
|
||||
println(fibonacci(i))
|
||||
}
|
||||
11
Task/Fibonacci-sequence/Swift/fibonacci-sequence-2.swift
Normal file
11
Task/Fibonacci-sequence/Swift/fibonacci-sequence-2.swift
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
func fibonacci(n: Int) -> Int {
|
||||
if n < 2 {
|
||||
return n
|
||||
}
|
||||
var fibPrev = 1
|
||||
var fib = 1
|
||||
for num in 2...n {
|
||||
(fibPrev, fib) = (fib, fib + fibPrev)
|
||||
}
|
||||
return fib
|
||||
}
|
||||
9
Task/Fibonacci-sequence/Swift/fibonacci-sequence-3.swift
Normal file
9
Task/Fibonacci-sequence/Swift/fibonacci-sequence-3.swift
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
func fibonacci() -> SequenceOf<UInt> {
|
||||
return SequenceOf {() -> GeneratorOf<UInt> in
|
||||
var window: (UInt, UInt, UInt) = (0, 0, 1)
|
||||
return GeneratorOf {
|
||||
window = (window.1, window.2, window.1 + window.2)
|
||||
return window.0
|
||||
}
|
||||
}
|
||||
}
|
||||
9
Task/Fibonacci-sequence/Swift/fibonacci-sequence-4.swift
Normal file
9
Task/Fibonacci-sequence/Swift/fibonacci-sequence-4.swift
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
func fibonacci(n: Int) -> Int {
|
||||
if n < 2 {
|
||||
return n
|
||||
} else {
|
||||
return fibonacci(n-1) + fibonacci(n-2)
|
||||
}
|
||||
}
|
||||
|
||||
println(fibonacci(30))
|
||||
Loading…
Add table
Add a link
Reference in a new issue