JavaScript阶乘算法

题目:
计算所提供整数的阶乘。

如果使用字母n代表一个整数,则阶乘是所有小于或等于n的整数的乘积。

阶乘通常简写成 n!

例如: 5! = 1 * 2 * 3 * 4 * 5 = 120

使用递归实现:


function factorialize(num) {
    var result = 1;
    for (var i = 1; i <= num; i++) {
        result *= i;
    }
    return result;

}

console.log(factorialize(5)); // 120

注意:由于是乘法,所以从1开始,因为0乘以任何值都为0

原文地址:https://www.cnblogs.com/dobeco/p/11406170.html

时间: 2024-11-08 13:17:28

JavaScript阶乘算法的相关文章

FCC的javascript初级算法题解答

FCC上的javascript基础算法题 前一阵子做的基础算法题,感觉做完后收获还蛮大的,现在将自己的做法总结出来,供大家参考讨论.基本上做到尽量简短有效,但有些算法还可以继续简化,比如第七题若采用正则表达式来匹配,则一行代码就可以完成需求.欢迎大家提出不同解法.末尾有FCC的链接,感兴趣的同学可以去做一做. 1.翻转字符串 function reverseString(str) { var arr=str.split(""); str=arr.reverse().join("

RX学习笔记:FreeCodeCamp的JavaScript基本算法挑战

FreeCodeCamp的JavaScript基本算法挑战 https://www.freecodecamp.com 2016-07-03 JavaScript还不是非常熟悉,用已经会的知识来解这些题,估计有些算法会非常笨. 1.反转字符串 str.split("").reverse().join(""); 2.阶乘(阶乘0的结果需为1) function factorialize(num) { var n=1; for(var i=num;i>0;i--){

Java 实现阶乘算法

阶乘算法如下: 以下列出 0 至 20 的阶乘: 0!=1,(0 的阶乘是存在的) 1!=1, 2!=2, 3!=6, 4!=24, 5!=120, 6!=720, 7!=5040, 8!=40320 9!=362880 10!=3628800 11!=39916800 12!=479001600 13!=6227020800 14!=87178291200 15!=1307674368000 16!=20922789888000 17!=355687428096000 18!=64023737

#转 大数阶乘算法

大数阶乘算法 大数阶乘算法 前几天朋友问我一个问题:“10000的阶乘怎么算?”当时我就有点懵,“10000”这个数字太大了,无论用什么数据类型保存结果都会溢出.这可怎么办呢?一时间束手无策.然后被一顿鄙视.后来经朋友的提醒,才恍然大悟,终于知道怎么实现了,原来是使用数组来模拟数字,这样无论结果数字有多大,只要数组的长度够长就能表示出来,用这个办法可以进行大数据的运算.看起来还是挺有用的.我把它用程序实现出来,如果有用到的地方还可以借鉴一下.(最起码还可以拿来鄙视别人^_^)首先定义一个足够长的

初学javascript,写一个简单的阶乘算法当作练习

代码如下: <script> var a = prompt("请输入值"); function mul(a){ if(a==1){ return 1; } return a*mul(a-1); } document.write(mul(a)); </script> 执行: 原文地址:https://www.cnblogs.com/raonet/p/10339704.html

JavaScript实现算法

leetcode算法题(JavaScript实现) 题外话 刷了一段时间的codewars的JavaScript题目之后,它给我最大的感受就是,会帮助你迅速的提升你希望练习的语言的API的熟悉程度,Array对象.String对象等原生方法,构造函数.一些算法题等.每次submit之后,看看自己的代码,再看看别人写的代码.发现自己写的代码和实现实现思路简直弱爆了.于是,每次都会在submi完之后,会看看Top five的答案,理解大牛们的解题思路(大多数情况下,代码会使用ES6的语法,非常简洁)

javascript检索算法代码举例

今天看到一篇谈javascript的文章.引起我的好奇.主要讲查找数据有2种方式,顺序查找和二分查找.顺序查找适用于元素随机排列的列表.二分查找适用于元素已排序的列表.二分查找效率更高,但是必须是已经排好序的列表元素集合. 在多是泛泛之谈的今天.有这个javascript的文章实属难得.在这篇CODEGO.NET的javascript文章里面谈的主要是检索算法.包括数据结构与算法的一些演示. 个人觉得挺有用.所以不敢独享就发出来.加上我自己的一些经验之谈了. 一:顺序查找 顺序查找是从列表的第一

JavaScript的算法和流程控制

代码的整体结构是影响运行速度的主要因素之一.代码数量少一定原型速度快,代码数量多却不意味着运行速度一定慢. 1. 循环 类型: 1) for由初始化.前测条件.后执行体.循环体组成: for(var i=0;i<10;i++) {循环体}  => for(var i=0,j=10;i<j;i++) {} 2) while由前测条件和循环体组成:var i=0; while(i<10){循环主体 i++;} 3) do-while由后测条件和循环体组成, 循环体会至少运行一次操作,再

JavaScript 排序算法

排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个对象呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来.通常规定,对于两个元素x和y,如果认为x < y,则返回-1,如果认为x == y,则返回0,如果认为x > y,则返回1,这样,排序算法就不用关心具体的比较过程,而是根据比较结果直接排序. JavaScript的Array的sort()方法就是用于排序的,但是排序结果可