[COLOR=#0000ff]/* Main program */[/color]
[COLOR=#804040][b]say[/b][/color] [COLOR=#ff00ff]" n | fibonacci | time (seconds)"[/color]
[COLOR=#804040][b]say[/b][/color] [COLOR=#ff00ff]"-------------------------------"[/color]
[COLOR=#804040][b]do[/b][/color] n [COLOR=#804040][b]=[/b][/color] 1[COLOR=#804040][b] to [/b][/color]30
[COLOR=#804040][b]call[/b][/color][COLOR=#008080] TIME[/color] [COLOR=#ff00ff]"R"[/color]
fib [COLOR=#804040][b]=[/b][/color] [COLOR=#008080]fibonacci([/color]n[COLOR=#008080])[/color]
time_elapsed [COLOR=#804040][b]=[/b][/color] [COLOR=#008080]TIME([/color][COLOR=#ff00ff]"R"[/color][COLOR=#008080])[/color]
[COLOR=#804040][b]say[/b][/color] [COLOR=#008080]right([/color]n[COLOR=#804040][b],[/b][/color]2[COLOR=#804040][b],[/b][/color]0[COLOR=#008080])[/color][COLOR=#804040][b]||[/b][/color][COLOR=#ff00ff]" | "[/color][COLOR=#804040][b]||[/b][/color][COLOR=#008080]right([/color]fib[COLOR=#804040][b],[/b][/color]9[COLOR=#008080])[/color][COLOR=#804040][b]||[/b][/color][COLOR=#ff00ff]" | "[/color][COLOR=#804040][b]||[/b][/color]time_elapsed
[COLOR=#804040][b]end[/b][/color]
[COLOR=#804040][b]exit[/b][/color]
[COLOR=#0000ff]/* Functions */[/color]
[COLOR=#008080]fibonacci[/color]: [COLOR=#804040][b]procedure[/b][/color]
[COLOR=#804040][b]parse arg[/b][/color] n
[COLOR=#804040][b]select[/b][/color]
[COLOR=#804040][b] when [/b][/color]n [COLOR=#804040][b]=[/b][/color] 1[COLOR=#804040][b] then [/b][/color]
fib [COLOR=#804040][b]=[/b][/color] 1
[COLOR=#804040][b] when [/b][/color]n [COLOR=#804040][b]=[/b][/color] 2[COLOR=#804040][b] then [/b][/color]
fib [COLOR=#804040][b]=[/b][/color] 1
[COLOR=#804040][b] otherwise [/b][/color]
fib [COLOR=#804040][b]=[/b][/color] [COLOR=#008080]fibonacci([/color]n[COLOR=#804040][b]-[/b][/color]1[COLOR=#008080])[/color] [COLOR=#804040][b]+[/b][/color] [COLOR=#008080]fibonacci([/color]n[COLOR=#804040][b]-[/b][/color]2[COLOR=#008080])[/color]
[COLOR=#804040][b]end[/b][/color]
[COLOR=#804040][b]return[/b][/color] fib