js斐波那契数列求和

一、递归算法

function recurFib(n) {

if (n < 2) {

return n;

}

else {

return recurFib(n-1) + recurFib(n-2);

}

}

alert(recurFib(10));//将显示55

二、动态规划法

function dynFib(n) {

var val = [];

for (var i = 0; i <= n; ++i) {

val[i] = 0;

}

if (n == 1 || n == 2) {

return 1;

}

else {

val[1] = 1;

val[2] = 2;

for (var i = 3; i <= n; ++i) {

val[i] = val[i-1] + val[i-2];

}

return val[n-1];

}

}

alert(dynFib(10));//将显示55

三、迭代法

function iterFib(n){

var last=1;

var nextlast=1;

var result=1;

for(var i=2;i<n;++i){

result=last+nextlast;

nextlast=last;

last=result;

}

return result;

}

alert(iterFib(10));//将显示55

时间: 2025-01-12 10:05:18

js斐波那契数列求和的相关文章

js 斐波那契数列(兔子问题)

对于JS初学者来说,斐波那契数列一直是个头疼的问题,总是理不清思路. 希望看完这篇文章之后会对你有帮助. 什么是斐波那契数列 : 答: 斐波那契数列,又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数列".  指的是这样一个数列:0.1.1.2.3.5.8.13.21.34.-- 题目:有个人想知道,一年之内一对兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面.已知一对兔子每个月可以生一对小兔子,而一对

js斐波那契数列

斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89...... 这个数列从第3项开始,每一项都等于前两项之和. 1.递归算法: function fib(n) { if (n < 2) { return n; }else { return fib(n-1) + fib(n-2); } } 2.动态规划算法 function fib(n) { var val = []; for (var i = 0; i <= n; ++i) { val[i

JS斐波拉契数列

斐波拉契数列又称为"兔子数列",指的是这样一个数列:1.1.2.3.5.8.13.21.34.......... 规律:1+1=2,1+2=3,2+3=5,3+5=8.......... <script> function fab ( n ) { if ( n == 1 || n == 2 ) { return 1; }else { return fab( n - 1 ) + fab( n - 2 ); } } alert(fab( 6 ));//弹出第六位斐波拉契数 &l

js 斐波那契数列实现

1.递归 function fib(n){ if(n==1||n==2){ return 1; } return fbnq(n-1)+fbnq(n-2); } fbnq(10); //55 2.非递归 var res=[1,1]; function fb(n){ for(var i=2;i<n;i++){ res[i] = res[i-1] + res[i-2]; } } fb(10); console.log(res); //[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

斐波那契数列公式算法-JS实现

之前算斐波那契数列都是算前两个数相加实现的 比如0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368 2=1+1 3=1+2 5=2+3 8=3+5 …… 其实还有另外一个规律: 2 = 1*2-03 = 2*2-15 = 3*2-18 = 5*2-213= 8*2-321=13*2-5 …… 下面是JS实现的代码: <!DOCTYPE h

js算法集合(二) javascript实现斐波那契数列 (兔子数列) Javascript实现杨辉三角

js算法集合(二)  斐波那契数列.杨辉三角 ★ 上一次我跟大家分享一下做水仙花数的算法的思路,并对其扩展到自幂数的算法,这次,我们来对斐波那契数列和杨辉三角进行研究,来加深对Javascript的理解. 一.Javascript实现斐波那契数列 ①要用Javascript实现斐波那契数列,我们首先要了解什么是斐波那契数列:斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为

Tips_of_JS 之 利用JS实现水仙花数的寻找与实现斐波那契数列

一.水仙花数 1.啥是水仙花数? 水仙花数是指一个 n 位正整数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身.(例如:1^3 + 5^3+ 3^3 = 153) 2.利用JS实现对水仙花数的寻找. 这一次我们寻找水仙花数的方法,是JS中非常基础的while循环.代码如下: si不si很神奇~ 二.斐波那契数列 1.啥是斐波那契数列? 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔

js 生成斐波那契数列

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>fibonacci</title> </head> <body> <script> // end 多少数以内 function fibonacci(end) { var num1 = 0; var num2 = 1; va

JS写斐波那契数列第n项

斐波那契数列:1 1 2 3 5 8 13 21 34 ... 数列特点:f(n)=f(n–1)+f(n–2)  后一项等于前两项之和 var a=0: var b=1: var c: var n=2://第n项 for(var i=0:i<n:i++){ c=b: b=a+b: a=c: } console.log(b)://打印第n项