JS计算斐波拉切代码实例

这篇文章主要介绍了js计算斐波拉切,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

function feibo(a){

 if(!a || a <= 0){
   throw new Error("参数错误,必须大于0");
 }else if(a == 1){
  return 1;
 }else if(a == 2){
  return 2;
 }else{
  return feibo(a-1) + feibo(a-2);
 }
}
console.log(feibo(7));<br><br><br><br>

方法二:迭代法

function feibo(n){
  if(n <= 2){
   return 1;
  }
  var s1 = 1;
  var s2 = 1;
  for(var i = 3; i <= n; i++){
   s2 = s2 + s1;
   s1 = s2 - s1;
  }
  return s2;
 }
 console.log(feibo(6));

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 微信小程序如何调用json数据接口并解析

    开始写js,用request请求接口url,当请求成功的时候,在控制台打印一下返回的res.data数据,在控制台可以看到打印了接口数据了,在请求接口成功之后,用setData接收数据,并且需在data中声明一个接收数据的变量. Page({ data: { list: [] }, onLoad: function (options) { wx.request({ url: 'https://c.y.qq.com/v8/fcg-bin/fcg_v8_toplist_cp.fcg?g_tk=538

  • JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例

    这篇文章主要介绍了JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 斐波那契数列 //求斐波那契数列第n位 var n = parseInt(window.prompt('输入你要求的斐波那契数列的位数')); var first = 1, second = 1, third; if (n > 2) { for (var i = 0; i < n - 2; i++) {

  • JS正则表达式必须包含数字、字母、特殊字符

    下面给大家介绍下JS正则表达式 必须包含数字.字母.特殊字符 js正则表达式要求: 1. 必须包含数字.英文字母.特殊符号且大于等于8位 2. 特殊符号包括: ~!@#$%^&* 正则表达式如下: /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*])[\da-zA-Z~!@#$%^&*]{8,}$/ 解释: 这里主要用到了js正则表式中的正向前瞻 ?=,举个例子 /\d/.exec( 'abc2abc' ) 匹配结果为2,释义:匹配一个数字 /\d(?

  • js获取对象,数组所有属性键值(key)和对应值(value)的方法示例

    本文实例讲述了js获取对象,数组所有属性键值(key)和对应值(value)的方法.分享给大家供大家参考,具体如下: <script> var values=function(object) { var values = []; for (var property in object) values.push(object[property]); return values; } //写成标准的方法(数组是object的一种): function getObjectKeys(object) {

  • JS判断数组里是否有重复元素的方法小结

    本文实例讲述了JS判断数组里是否有重复元素的方法.分享给大家供大家参考,具体如下: 第一种方法:但是下面的这种方法数字字符串类似相同,返回的还是真,有点不靠谱,如果是其它的字符是可以的 var ary11 = new Array("1", "ff", "11", "aa", "2222"); // 验证重复元素,有重复返回true:否则返回false function mm(a) { return /(\x

  • Go 结构体、数组、字典和 json 字符串的相互转换方法

    Go 语言中 encoding/json 包可以很方便的将结构体.数组.字典转换为 json 字符串. 引用 import "encoding/json" 解析语法 // v 传入结构体.数组等实例变量 // []byte 字节数组 // error 可能会有的错误 func Marshal(v interface{}) ([]byte, error) 反解析 // []byte 字节数组 // v 传入结构体.数组等实例变量的指针地址 // error 可能会有的错误 func Un

  • p5.js实现斐波那契螺旋的示例代码

    本篇文章主要介绍了p5.js实现斐波那契螺旋的示例代码,分享给大家,也给自己做个笔记 效果如下: 主要方法 translate() rotate() arc() 斐波那契螺旋 斐波那契螺旋线也称"黄金螺旋",是根据斐波那契数列画出来的螺旋曲线,以斐波那契数为边的正方形中画一个90度的扇形,连起来的弧线就是斐波那契螺旋. 草图 过程分解 一.定义一个空的斐波那契数组: var Fibonacci = []; 二.初始化 默认情况下draw()函数会无限重复绘图, frameRate()函

  • JS计算斐波拉切代码实例

    这篇文章主要介绍了js计算斐波拉切,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 function feibo(a){ if(!a || a <= 0){ throw new Error("参数错误,必须大于0"); }else if(a == 1){ return 1; }else if(a == 2){ return 2; }else{ return feibo(a-1) + feibo(a-2); } } console.

  • Python打印斐波拉契数列实例

    本文实例讲述了Python打印斐波拉契数列的方法.分享给大家供大家参考.具体实现方法如下: #打印斐波拉契数列 #!/usr/bin/python def feibolaqi(n): if n == 0 or n == 1: return n else: return feibolaqi(n-1) + feibolaqi(n-2) num = int(raw_input('please input a int:')) if num >= 0: print 'feibolaqi(%d) is %d

  • js计算最大公约数和最小公倍数代码实例

    一.计算最大公约数 1.小学时候一般采用质因数分解法,一般使用短除得到结果,下面用一种最初级的方法求最大公约数 function gcd2(a,b){ var result = 1; for(var i = 1; i <= a && i <= b; i++ ){ if(a%i == 0 && b%i == 0 ){ result = i; } } return result; } 2.使用欧里几德算法,辗转相除法.具体原理自行百度.下面给出两种代码算法 递归 f

  • 基于js实现抽红包并分配代码实例

    这篇文章主要介绍了基于js实现抽红包并分配代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 将 50000元随机分给10个人,其中3个人必须分到百位数,4个人分到千位数,3个人分到万位数,每个人所得金额 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <meta name=&

  • JS计算距当前时间的时间差实例

    如下所示: /** * JS获取距当前时间差 * * @param int time 时间戳格式 * */ function get_time_diff(time) { var diff = ''; var time_diff = new Date().getTime() - time; //时间差的毫秒数 //计算出相差天数 var days = Math.floor(time_diff / (24 * 3600 * 1000)); if (days > 0) { diff += days +

  • JS通用方法触发点击事件代码实例

    这篇文章主要介绍了JS通用方法触发点击事件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最简单的触发单击事件肯定是elem.click(),平时在不需要考虑兼容性的场合我都是这么干的,但是毕竟这个方法有兼容性(具体兼容性如何没做过测试),所以还是要掌握一个通用的方法. 以下代码是网上比较容易找到的一段代码,我在前面加了一段MouseEvent的判断: /** * 触发单击事件 * @param elem 需要触发事件的DOM对象 */

  • JS实现斐波那契数列的五种方式(小结)

    下面是五种实现斐波那契数列的方法 循环 function fibonacci(n){ var res1 = 1; var res2 = 1; var sum = res2; for(var i = 1;i < n;i ++){ sum = res1 + res2; res1 = res2; res2 = sum; } return sum; } 普通递归 function fibonacci (n) { if ( n <= 1 ) {return 1}; return fibonacci(n

  • python算法练习之兔子产子(斐波那切数列)

    目录 1.问题描述 2.问题分析 3.算法设计 4.完整程序 1.问题描述 有一对兔子,从出生后的第3个月起每个月都生一对兔子.小兔子长到第3个月后每个月又生一对兔子,假设所有的兔子都不死,问30个月内每个月的兔子总对数为多少? 2.问题分析 兔子产子问题是一个有趣的古典数学问题,我们画一张表来找下兔子数的规律,如下表所示 月数 小兔子对数 中兔子对数 老兔子对数 兔子总对数 1 1 0 0 1 2 0 1 0 1 3 1 0 1 2 4 1 1 1 3 5 2 1 2 5 6 3 2 3 8

  • JS模拟bootstrap下拉菜单效果实例

    本文实例讲述了JS模拟bootstrap下拉菜单效果.分享给大家供大家参考,具体如下: 模拟bootstrap下拉菜单 在工作中要切一个效果:点击导航栏,则出现下列菜单,但是当点击其他地方的时候,就隐藏子菜单,效果有点类似于bootstrap 的"下拉菜单" 由于bootstrap的子菜单的样式与设计不同,因此需要自己写一个类似的效果 当点击某个控件的时候,则显示出下拉菜单,但是,当点击空白的地方的时候怎么让其自动隐藏呢? 起初的想法,给body绑定一个onclick事件,当点击空白的

随机推荐