[转] 兔子数列的递归计算
斐波那契数列(Fibonacci sequence),又称黄金分割数列
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>递归算法示例</title> <style type="text/css"> #result{ color:red; //border:1px solid #000080; padding:10px; } #main{ margin:10px; } </style> <script src="jquery-1.12.4.min.js"></script> <script type="text/javascript"> $(function(){ $('#btnCalc').click(function(){ var num = parseInt($('#txtCount').val()) var strResult = '' for(var i=1;i<=num;i++){ var t = new Date() if(i < num){ strResult += String(calc(i)) + ' 计算耗时 ' + ((new Date()).getTime() - t.getTime())/1000.0 + ' 秒<br />' } else{ strResult += String(calc(i)) + ' 计算耗时 ' + ((new Date()).getTime() - t.getTime())/1000.0 + ' 秒' } } $('#result').html(strResult) $('#result').css('border','1px solid #000080') }) }) function calc(num){ if(num <= 0){ return 0 } if(num == 1 || result == 2){ return 1 } else { return calc(num-1) + calc(num-2) } } </script> </head> <body> <div id="result"></div> <div id="main"> <input type="button" id="btnCalc" value="计算" /> <input type="text" id="txtCount" value="30" /> </div> </body> </html>
-- 以上是一道纸上面试题,要求用递归算法写出 1,1,2,3,5,8 ... 计算到第 30 位的代码。
当时写的类似下面:
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>计算到第30位</title> <script type="text/javascript"> var a = 1; var b = 0; var t = new Date() document.write('1 ' + a + '<br />') for(var i=1;i<30;i++){ var c = a + b; b = a; a = c; document.write((i + 1) + ' ' + a + '<br />') } document.write(' 计算耗时 ' + ((new Date()).getTime() - t.getTime())/1000.0 + ' 秒') </script> </head> <body style="color:red;width:300px;border-bottom:1px solid red"> </body> </html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!