Fibonacci sequence: Difference between revisions

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