Skip to content

Instantly share code, notes, and snippets.

@talesin
Last active September 9, 2019 03:01
Show Gist options
  • Select an option

  • Save talesin/9bdea84ddae902b1af8928e78f0c7de1 to your computer and use it in GitHub Desktop.

Select an option

Save talesin/9bdea84ddae902b1af8928e78f0c7de1 to your computer and use it in GitHub Desktop.
fib
let fibn n =
let rec loop i a b =
if i >= n then a
else loop (i+1) b (a+b)
loop 0 0 1
fun fibn(n: Int): Int {
tailrec fun loop(i: Int, a: Int, b: Int): Int {
return if (i >= n) a
else loop(i+1, b, a+b)
}
return loop(0, 0, 1)
}
let fibn = n => {
let rec loop = (i, a, b) => {
if (i >= n) a
else loop(i+1, b, a+b)
}
loop(0, 0, 1)
}
def fibn(n: Int): Int = {
@scala.annotation.tailrec
def loop(i: Int, a: Int, b: Int): Int = {
if (i >= n) a
else loop(i+1, b, a+b)
}
loop(0, 0, 1)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment