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)