Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
37
Task/Fibonacci-sequence/NetRexx/fibonacci-sequence.netrexx
Normal file
37
Task/Fibonacci-sequence/NetRexx/fibonacci-sequence.netrexx
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
/* NetRexx */
|
||||
|
||||
options replace format comments java crossref savelog symbols
|
||||
|
||||
numeric digits 210000 /*prepare for some big 'uns. */
|
||||
parse arg x y . /*allow a single number or range.*/
|
||||
if x == '' then do /*no input? Then assume -30-->+30*/
|
||||
x = -30
|
||||
y = -x
|
||||
end
|
||||
|
||||
if y == '' then y = x /*if only one number, show fib(n)*/
|
||||
loop k = x to y /*process each Fibonacci request.*/
|
||||
q = fib(k)
|
||||
w = q.length /*if wider than 25 bytes, tell it*/
|
||||
say 'Fibonacci' k"="q
|
||||
if w > 25 then say 'Fibonacci' k "has a length of" w
|
||||
end k
|
||||
exit
|
||||
|
||||
/*-------------------------------------FIB subroutine (non-recursive)---*/
|
||||
method fib(arg) private static
|
||||
parse arg n
|
||||
na = n.abs
|
||||
|
||||
if na < 2 then return na /*handle special cases. */
|
||||
a = 0
|
||||
b = 1
|
||||
|
||||
loop j = 2 to na
|
||||
s = a + b
|
||||
a = b
|
||||
b = s
|
||||
end j
|
||||
|
||||
if n > 0 | na // 2 == 1 then return s /*if positive or odd negative... */
|
||||
else return -s /*return a negative Fib number. */
|
||||
Loading…
Add table
Add a link
Reference in a new issue