资讯专栏INFORMATION COLUMN

【译】JS基础算法脚本:阶乘

Betta / 2337人阅读

摘要:需求给出,实现的阶乘思路递归函数条件语句停止递归代码代码楼下道友的尾递归代码相关链接递归阶乘算数运算符有其他好的方法或思路的道友,不妨在沙发区神交一番。

需求

给出num,实现num的阶乘

factorialize(5) should return 120
思路

递归函数

条件语句停止递归

代码1:

function factorialize(num) {
    if(num === 0){
        return 1;
    }
    
    return num * factorialize(num-1);
}

factorialize(5); 

代码2(楼下道友的尾递归代码):

function factorial(n, total = 1) {
    if (n === 1) return total;
    return factorial(n - 1, n * total);
}

factorial(5) // 120
相关链接:

递归
阶乘
算数运算符

有其他好的方法或思路的道友,不妨在沙发区神交一番。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/84646.html

相关文章

  • 16道初级脚本算法,你要挑战一下吗?

    摘要:设置首字母大写算法挑战返回一个字符串确保字符串的每个单词首字母都大写,其余部分小写。确认末尾字符算法检查一个字符串是否以指定的字符串结尾。删除数组中特定值算法挑战删除数组中的所有的假值。 在w3cschool上看到了这些初级算法题目,自己先尝试做了一下,不会的也会查看一下别人的借鉴一下思路,更多的帮助自己熟悉字符串和数组方法的应用.如果您有更好的解法,可以指出来还有中级算法题目和后面的...

    kumfo 评论0 收藏0
  • JS基础算法脚本:回文检测

    摘要:返回一个新的字符串,表示串转换为小写的调用字符。不会影响字符串本身的值。返回一个包含子字符的数组,确定分割位置。将数组中所有子元素拼接成一个字符串,不改变原数组。 需求 给出一个字符串,检测是否是回文,是则返回true,不是则返回false(忽略标点符号,大小写,空格) palindrome(A man, a plan, a canal. Panama) should return t...

    Turbo 评论0 收藏0
  • JS基础算法脚本:求插入数字的最小索引

    摘要:需求给出定两个参数,参数,参数查找参数插入数组时的最小索引思路数组重排序判断数组中是否包含的最小数,有,则返回其最小数的索引无,则返回其数组长度思路用变量存储大于中各元素的次数返回变量思路数组重排序查找大于的数组最小值的索引索引等于返 需求 给出定两个参数,参数1:arr,参数2:num;查找参数num插入数组时的最小索引 getIndexToIns([10, 20, 30, 40, ...

    xingqiba 评论0 收藏0
  • JS基础算法脚本:类数组(arguments)去重

    摘要:参数用来测试数组的每个元素的函数。调用时使用参数。返回表示保留该元素通过测试,则不保留。执行时的用于的值。那些没有通过测试的元素会被跳过,不会被包含在新数组中。有其他好的方法或思路的道友,不妨在沙发区神交一番。 需求 给出一个类数组,删除要求的重复数据,返回新数组 destroyer([1, 2, 3, 1, 2, 3], 2, 3) should return [1, 1] dest...

    mrcode 评论0 收藏0
  • JS基础算法脚本:字符串结尾

    摘要:需求给出字符串是否以给定的字符结尾思路或者方法思路相关是从起始点截取某个长度的字符串是截取个位置之间的字符串有其他好的方法或思路或者对各方法有更深理解的道友,不妨在沙发区神交一番。 需求 给出字符串是否以给定的字符结尾 confirmEnding(He has to give me a new name, name) should return true. 思路1 str.subst...

    Lucky_Boy 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<