Fibonacci sequence: Difference between revisions

Fibonaccie Sequence written in Grain
(Fibonaccie Sequence written in Grain)
Line 7,017:
}
</syntaxhighlight>
 
=={{header|Grain}}==
=== Recursive ===
<syntaxhighlight lang="TS">
import String from "string"
import File from "sys/file"
let rec fib = n => if (n < 2) {
n
} else {
fib(n - 1) + fib(n - 2)
}
for (let mut i = 0; i <= 20; i += 1) {
File.fdWrite(File.stdout, Pervasives.toString(fib(i)))
ignore(File.fdWrite(File.stdout, " "))
}
</syntaxhighlight>
=== Iterative ===
<syntaxhighlight lang="TS">
import String from "string"
import File from "sys/file"
let fib = j => {
let mut fnow = 0, fnext = 1, tempf = 0
for (let mut n = 0; n <= j; n += 1) {
if (n == 0 || n == 1) {
let mut output1 = String.concat(" ", Pervasives.toString(n))
ignore(File.fdWrite(File.stdout, output1))
} else {
tempf = fnow + fnext
fnow = fnext
fnext = tempf
let mut output2 = String.concat(" ", Pervasives.toString(fnext))
ignore(File.fdWrite(File.stdout, output2))
}
}
}
fib(20)
</syntaxhighlight>
{{out}}
<pre>
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
</pre>
 
=={{header|Groovy}}==
37

edits