用尾递归(tailRecursive)实现的阶乘-JavaScript版本

简介: 用尾递归(tailRecursive)实现的阶乘-JavaScript版本

</div><div>function factorial(n){</div><div>  if(n ===1) {</div><div>     return 1;</div><div>  }</div><div>  return n *factorial(n -1);</div><div>}</div><div>function tailFactorial(n, total) {</div><div> if(n ===1)</div><div>    return total;</div><div> return tailFactorial(n -1, n * total);</div><div>}</div><div>function factorial2(n) {</div><div>  return tailFactorial(n,1);</div><div>}</div><div>var N = 20;</div><div>console.time("normal recursive");</div><div>console.log(factorial(N));</div><div>console.timeEnd("normal recursive");</div><div>console.time("tail recursive");</div><div>console.log(factorial2(N));</div><div>console.timeEnd("tail recursive");</div><div>


目录
相关文章
|
1月前
|
XML 存储 JSON
CocosCreator 面试题(十五)Cocos Creator如何内置protobuf JS版本?
CocosCreator 面试题(十五)Cocos Creator如何内置protobuf JS版本?
107 0
|
1月前
Auto.js 各版本之间的区别
Auto.js 各版本之间的区别
218 0
|
1月前
|
敏捷开发 JavaScript 前端开发
❤❤❤【Vue.js最新版】sd.js基于jQuery Ajax最新原生完整版for凯哥API版本❤❤❤
❤❤❤【Vue.js最新版】sd.js基于jQuery Ajax最新原生完整版for凯哥API版本❤❤❤
|
10天前
|
JavaScript 前端开发 算法
Box2D(现在通常称为Box2D.js或者其WebAssembly版本,Emscripten Box2D)是一个流行的2D物理引擎,用于模拟刚体动力学、碰撞检测与响应以及关节约束等物理现象
【6月更文挑战第16天】Box2D.js,基于C++的2D物理引擎,经Emscripten编译为WebAssembly,用于JavaScript游戏中的真实物理模拟,包含碰撞检测和关节约束。它提供高效的碰撞检测,易于扩展和定制物理属性。使用步骤涉及初始化世界、创建刚体、添加碰撞形状、模拟物理及处理碰撞事件。物理引擎虽提升逼真度,但也增加复杂性和性能需求。其他选项如p2.js、matter.js和ammo.js也可供选择。
53 8
|
1月前
|
JavaScript 前端开发 Linux
|
1月前
|
JSON JavaScript 前端开发
js的版本
【5月更文挑战第7天】js的版本
22 1
|
1月前
|
JavaScript 前端开发 Web App开发
JavaScript基础语法(codewhy版本)(一)
JavaScript基础语法(codewhy版本)
100 1
JavaScript基础语法(codewhy版本)(一)
|
1月前
|
JavaScript 前端开发 Dart
JavaScript高级笔记-coderwhy版本(三)
JavaScript高级笔记-coderwhy版本
69 0
JavaScript高级笔记-coderwhy版本(三)
|
1月前
|
JavaScript 前端开发 Go
JavaScript高级笔记-coderwhy版本(二)
JavaScript高级笔记-coderwhy版本
117 0
JavaScript高级笔记-coderwhy版本(二)
|
1月前
|
JavaScript 前端开发 Java
JavaScript高级笔记-coderwhy版本(一)
JavaScript高级笔记-coderwhy版本
47 0
JavaScript高级笔记-coderwhy版本(一)