1.运行时间9ms
function Fibonacci(n) {
function sum(n,a,b){
if(n == 0) {
return 0
}
if( n == 1 ) {
return a
}
if( n == 2 ){
return b
}
else {
return sum(n-1,b,b+a)
}
}
}
Fibonacci(39)
2.运行时间1791ms
function Fibonacci(n) {
if(n == 0) return 0
if( n == 1 || n == 2){
return 1
}
return Fibonacci(n-2) + Fibonacci(n-1)
}
Fibonacci(39)
3.运行时间9ms
function Fibonacci(n) {
var a = 0, b = 1, c = 1,sum = 0;
for(var i = 0;i <= n; i++) {
if( i == 0) {
sum = a
}
else if( i == 1) {
sum = b
}
else if( i == 2) {
sum = c
}
else {
sum = b + c
b = c
c = sum
}
}
return sum
}
Fibonacci(39)