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));
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
微信小程序如何调用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事件,当点击空白的
随机推荐
- jquery加载页面的方法(页面加载完成就执行)
- MYSQL实现连续签到功能断签一天从头开始(sql语句)
- 将ACCESS数据库迁移到SQLSERVER数据库两种方法(图文详解)
- BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)
- HttpClient抓取网页的两种方式
- 分享java打印简单图形的实现代码
- 让iframe子窗体取父窗体地址栏参数(querystring)
- js获取客户端外网ip的简单实例
- asp.net中使用 Repeater控件拖拽实现排序并同步数据库字段排序
- 深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解
- javascript算法学习(直接插入排序)
- 防止ARP攻击的shell代码
- android编程之XML文件解析方法详解(附源码)
- SQL语句实现删除ACCESS重复记录的两种方法
- C#全局热键设置与窗体热键设置实例
- WIN2003服务器 IIS经常停止响应问题解决办法参考
- 修改服务器3389远程登陆端口
- 轻松掌握java装饰者模式
- 在Win7 中为php扩展配置Xcache
- 如何在XML中定义菜单