Data update
This commit is contained in:
parent
796d366b97
commit
35bcdeebf8
504 changed files with 7045 additions and 610 deletions
11
Task/Fibonacci-sequence/Grain/fibonacci-sequence-1.grain
Normal file
11
Task/Fibonacci-sequence/Grain/fibonacci-sequence-1.grain
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
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, " "))
|
||||
}
|
||||
17
Task/Fibonacci-sequence/Grain/fibonacci-sequence-2.grain
Normal file
17
Task/Fibonacci-sequence/Grain/fibonacci-sequence-2.grain
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
import File from "sys/file"
|
||||
let fib = j => {
|
||||
let mut fnow = 0, fnext = 1
|
||||
for (let mut n = 0; n <= j; n += 1) {
|
||||
if (n == 0 || n == 1) {
|
||||
let output1 = " " ++ toString(n)
|
||||
ignore(File.fdWrite(File.stdout, output1))
|
||||
} else {
|
||||
let tempf = fnow + fnext
|
||||
fnow = fnext
|
||||
fnext = tempf
|
||||
let output2 = " " ++ toString(fnext)
|
||||
ignore(File.fdWrite(File.stdout, output2))
|
||||
}
|
||||
}
|
||||
}
|
||||
fib(20)
|
||||
23
Task/Fibonacci-sequence/Grain/fibonacci-sequence-3.grain
Normal file
23
Task/Fibonacci-sequence/Grain/fibonacci-sequence-3.grain
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
import Buffer from "buffer"
|
||||
import String from "string"
|
||||
let fib = j => {
|
||||
// set-up minimal, growable buffer
|
||||
let buf = Buffer.make(j * 2)
|
||||
let mut fnow = 0, fnext = 1
|
||||
for (let mut n = 0; n <= j; n += 1) {
|
||||
if (n == 0 || n == 1) {
|
||||
Buffer.addChar(' ', buf)
|
||||
Buffer.addString(toString(n), buf)
|
||||
} else {
|
||||
let tempf = fnow + fnext
|
||||
fnow = fnext
|
||||
fnext = tempf
|
||||
Buffer.addChar(' ', buf)
|
||||
Buffer.addString(toString(fnext), buf)
|
||||
}
|
||||
}
|
||||
// stringify buffer and return
|
||||
Buffer.toString(buf)
|
||||
}
|
||||
let output = fib(20)
|
||||
print(output)
|
||||
Loading…
Add table
Add a link
Reference in a new issue