Fibonacci sequence: Difference between revisions
Content added Content deleted
BirdCatNate (talk | contribs) m (Tweaked implementation for readability) |
BirdCatNate (talk | contribs) m (Added require statement) |
||
Line 10,946: | Line 10,946: | ||
This solution works for negative numbers |
This solution works for negative numbers |
||
<syntaxhighlight lang="scala"> |
<syntaxhighlight lang="scala"> |
||
⚫ | |||
// Calculate nth positive fibonacci number |
|||
require n >= 0; |
|||
⚫ | |||
var lastFib = -1; |
var lastFib = -1; |
||
var fib = 1; |
var fib = 1; |
||
Line 10,958: | Line 10,959: | ||
} |
} |
||
// Calculate nth integer fibonacci number |
|||
func fib(n: Integer): Integer { |
func fib(n: Integer): Integer { |
||
match ([n < 0, n.mod(2)]){ |
match ([n < 0, n.mod(2)]){ |
||
[true, 0]: return - |
[true, 0]: return -pfib(-n); |
||
[true, _]: return |
[true, _]: return pfib(-n); |
||
else: return |
else: return pfib( n); |
||
} |
} |
||
} |
} |