js实现阶乘算法的三种方法

js实现阶乘算法的三种方法js实现阶乘算法的三种方法//非递归写法functionf(n){if(0===n){return1;}letres=1;for(leti=1;i<=n;++i){res*=i;}returnres;}//递归写法functiong(n…

大家好,又见面了,我是你们的朋友全栈君。

js实现阶乘算法的三种方法

// 非递归写法
function f(n) { 
   
    if (0 === n) { 
   
        return 1;
    }
    let res = 1;
    for (let i = 1; i <= n; ++i) { 
   
        res *= i;
    }
    return res;
}

// 递归写法
function g(n) { 
   
    if (0 === n) { 
   
        return 1;
    }
    return n*g(n-1);
}

// 动态规划写法
let dp = [];
function h(n) { 
   
    if (n < 0 || n !== Math.floor(n)) { 
   
        return undefined;
    }
    if (dp[n]) { 
   
        return dp[n];
    }
    if (0 === n) { 
   
        dp[n] = 1;
        return 1;
    }
    for (let i = dp.length; i <= n; ++i) { 
   
        dp[i] = dp[i-1]*i;
    }
    return dp[n];
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164017.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oracle可以更改表名,sql – 更改Oracle表名

    oracle可以更改表名,sql – 更改Oracle表名我正在尝试在oracle中更改表名.我首先运行此脚本来声明表CREATETABLECUSTOMER(C_IDNUMBER(6,0),C_LASTVARCHAR2(25),C_FIRSTvarchar2(25),C_MIchar(1),C_DOBDATE,C_ADDRESSvarchar2(100),C_CITYvarchar2(35),C_STATEchar(2),C_ZIP…

    2022年5月17日
    37
  • asp语法教程_如何编程

    asp语法教程_如何编程ASP编程基本语句(一)Access+asp编制网站是属于动态网站,是通过把要编制的内容写入数据库里,在通过读取数据库的内容显示出来,学习目的:学会数据库的基本操作。数据库的基本操作无非是:查询记

    2022年8月6日
    10
  • pycharm激活码key is invalid[最新免费获取]2022.03.04

    (pycharm激活码key is invalid)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html40ZKSWCX8G-eyJsaWN…

    2022年4月2日
    327
  • 【python】urllib库之四大模块

    【python】urllib库之四大模块文章目录urllib库一urllib库四大模块1:urlopen()2:data参数3:timeout参数二:request.Request方法1:一般用法2:高级用法1:验证2:代理3:Cookies三:异常处理1:URLError2:HTTPError四:解析链接1:urlparse()2:urlunparse()3:urlsplit()4:urlunsplit()5:urljoin()6:…

    2025年5月24日
    2
  • SOAP 是什么东西? 介绍介绍「建议收藏」

    SOAP 是什么东西? 介绍介绍「建议收藏」  如果你的安装路径(installationpaths)和上面使用的不同,你需要更正它们,然后关闭和重启Tomcat以使它们生效。这样,你就有为运行SOAP作好了准备。但是现在,我要忘记有关的技术部分,来学一点理论知识。  SOAP意思是简单对象访问协议(SimpleObjectAccessProtocol)。的确如它的名字一样,SOAP是很简单的。它是一个基于XML的协议,允许程

    2022年7月24日
    11
  • SRC挖掘—web不安全的直接对象引用 (IDOR)漏洞-3day

    SRC挖掘—web不安全的直接对象引用 (IDOR)漏洞-3day什么是IDOR?当应用程序根据用户提供的输入提供对对象的直接访问时,就会发生不安全的直接对象引用(IDOR)。由于此漏洞,攻击者可以绕过授权并直接访问系统中的资源,例如数据库记录或文件。不安全的直接对象引用允许攻击者通过修改用于直接指向对象的参数值来绕过授权并直接访问资源。这些资源可以是属于其他用户的数据库条目、系统中的文件等等。这是因为应用程序接受用户提供的输入并使用它来检索对象而没有执行足够的授权检查。(来源:OWASP)让我们看一个例子。想象一下,您正在使用一个文档共享平台。您可以上传..

    2022年6月5日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号