JavaScript生成斐波那契数列

常规写法

https://cn.bing.com/search?q=js+fibonacci+sequence&pc=MOZI&form=MOZSBR

//Fibonacci
function fibonacci(n) {
  var array = [0, 1];

  for (var i = 2; i <= n; i++) {
    array.push(array[i - 1] + array[i - 2]);
  }

  return array[n];
}
var n = 6;
var ans = fibonacci(n);
console.log(ans);

生成器

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator

function* idMaker() {
    var index = 0;
    while(true)
        yield index++;
}

var gen = idMaker(); // "Generator { }"

console.log(gen.next().value); // 0
console.log(gen.next().value); // 1
console.log(gen.next().value); // 2
// ...

生成器函数+斐波那契数列

http://cwestblog.com/2011/07/28/javascript-fibonacci-generator-function-and-alternative/

function* fib() {
  var temp, num1 = 0, num2 = 1;
  while (1) {
    yield num1;
    temp = num1;
    num1 = num2;
    num2 += temp;
  }
}

// fibonacci generator function
var genFib = fib();

// Print the first ten numbers in the fibonacci sequence.
for (var arr = [], i = 0; i < 10; i++) {
  arr.push(genFib.next());
}
alert("1st 10 fibonacci sequence numbers:\n" + arr.join("\n"));

原文地址:https://www.cnblogs.com/lightsong/p/9420753.html

时间: 2024-11-10 22:40:13

JavaScript生成斐波那契数列的相关文章

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

js算法集合(二)  斐波那契数列.杨辉三角 ★ 上一次我跟大家分享一下做水仙花数的算法的思路,并对其扩展到自幂数的算法,这次,我们来对斐波那契数列和杨辉三角进行研究,来加深对Javascript的理解. 一.Javascript实现斐波那契数列 ①要用Javascript实现斐波那契数列,我们首先要了解什么是斐波那契数列:斐波那契数列(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

javascript求斐波那契数列

斐波那契数列:1,1,2,3,5,8,.... <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>斐波那契数列</title> <style type="text/css"> html,body{ padding: 0;margin: 0; width: 100%; heig

用JavaScript实现斐波拉契数列

<html> <head> <meta charset="utf-8" /> <title>html</title> <script type="text/javascript"> function getNthFibonacci(num){ if(num < 2){ return num; } var first = 0; var second = 1; var third; for(v

斐波拉契数列(用JavaScript和Python实现)

1.用JavaScript 判断斐波拉契数列第n个数是多少 //需求:封装一个函数,求斐波那契数列的第n项 //斐波拉契数列 var n=parseInt(prompt("输入你想知道的斐波那契数列的第几位数")); document.write(f(n)); function f(n){ if (n>=3) { var a=1; var b=1; for(var i=3;i<=n;i++){ var temp=b; b=a+b ; a=temp; } return b;

斐波那契数列题型ACing

斐波那契数列 特点:头两项均为1,后面任一项都是其前两项之和. 程序在计算中需要用两个变量存储最近产生的两个序列值,且产生了新数据后,两个变量要更新. 问题1:输出斐波那契数列的前十项. int i,x1,x2,x; x1=1; //头两项都是1 x2=1; printf("%6d%6d",x1,x2); for(i=1;i<=8;i++){ //循环输出后8项 x=x1+x2; //计算新项 printf("%6d",x); x1=x2; //更新x1和x2

生成器实现斐波那契数列

#生成器生成斐波那契数列 def Fibnacc(num): 2 a= 1 3 b = 1 4 current_index = 0 5 while current_index<num: 6 data = a 7 8 current_index+=1 9 a,b=b,a+b 10 yield data 11 # yield:1.充当返回值的作用2.保存程序的运行状态,并且暂停程序执行3.当next的时候,可以继续换行程序从yield位置继续向下 12 # 执行 13 14 if __name__

python 题目:斐波那契数列计算;题目:站队顺序输出;题目:合法括号组合的生成;题目:用户登录(三次机会)

斐波那契数列计算 B 描述 斐波那契数列如下: F(0) = 0, F(1) = 1 F(n) = F(n-1) + F(n-2) 编写一个计算斐波那契数列的函数,采用递归方式,输出不超过n的所有斐波那契数列元素 调用上述函数,完成如下功能: 用户输入一个整数n,输出所有不超过n的斐波那契数列元素.输出数列的元素和及平均数,输出按照顺序,用英文逗号和空格分割 此题目为自动评阅,请严格按照要求规范输入和输出. def jebona(n): if n==0: return 0 elif n == 1

javaScript实现回文数、水仙花数判断和输出斐波那契数列

    // 判断一个数是不是回文数                    // 方法一:先将数字转换成字符串,然后依次判断第一个和最后一个数字,第二个和倒数第二个数字...是否相等     function PalindromeNumber1(num){         var str = num.toString();         var flag = true;         var len = str.length;         for(var i = 0; i < (len