首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在JavaScript中分解一个数字

在JavaScript中分解一个数字
EN

Stack Overflow用户
提问于 2015-06-29 14:00:38
回答 3查看 5.8K关注 0票数 2

我目前正在参加一门关于自由代码营的课程,它要求我为任何给定的数字返回一个阶乘。然而,我在这个问题上有点困住了(请原谅我,数学不是我的强项,哈哈)。下面是它的要求:

如果整数用字母n表示,则阶乘是所有小于或等于n的正整数的乘积。阶乘通常用简写符号n表示!例如: 5!=1*2*3*4*5=120 F

下面是开始代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function factorialize(num) {
return num;
}

factorialize(5);

我不想直接回答这个问题,但我真的想知道如何启动。谢谢您提前提供帮助!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-12-18 01:52:38

有两种方法可以做到这一点。第一个在循环中,第二个在递归函数中。

循环版本是这样的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function factorialize(num) {

  for(var answer=1;num>0;num--){
    answer*=num;
  }

  return answer;
}

递归的一个就是这样的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function factorialize(num) {

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

两种方法都适用于所有正整数。

票数 6
EN

Stack Overflow用户

发布于 2015-09-03 10:27:48

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function factorialize(num) {
    var myNum = 1;
    for (i=1; i<=num;i++){
        myNum = myNum * i;
    }
    return myNum;
}
factorialize(5);

首先,我创建了一个var来保存我们的答案(myNum)。

然后,我创建了一个循环,从1开始,直到(包括)我们正在进行阶乘的数字的值……当循环运行时,我们将myNum乘以i的值,将新值保存为myNum,因此它将被乘以循环中的下一个数字……

一旦循环完成,我们将使用“返回myNum”返回我们的答案。

票数 6
EN

Stack Overflow用户

发布于 2015-08-23 16:07:58

注意:此响应说明要使用哪种类型的循环,并提示如何格式化循环以获得阶乘5,以便在使用num之前获得基本格式。

给出5!= 1 *2*3*4*5= 120的例子,你可以看到一个从1开始,结束于5,增量1的数字模式。你也可以看到,对于1到5之间的每一个数字,你需要被下一个数字一次又一次地乘以,这样才能得到阶乘。

for循环用于重复特定的代码块(已知次数)。在这种情况下,您知道次数是5(又名1,2,3,4,5)。具体的代码块是您需要根据试图得到的答案(在本例中为5!= 1*2*3*4*5 = 120)计算出的代码块。

For循环提示:当考虑如何编写for循环的条件时:从1开始递增,在5结束增量,然后增加1 ( 1,2,3,4,5)

在编写对每个数字起作用的代码块时,请考虑每个数字所需的关系,因此您的代码实际上是这样做的: 1*2*3*4*5

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31126315

复制
相关文章
Mayer能量分解方法及其在Amesp中的使用
能量分解方法能够将分子之间的相互作用分解成各种具有物理意义的成分,比如键能、静电相互作用、排斥作用、极化、诱导、电荷转移以及色散作用等。常用的能量分解方法有如Kitaura-Morokuma方法1、Ziegler-Rauk方法2、对称匹配微扰(SAPT)方法3、LMO-EDA方法4、GKS-EDA方法5、自然能量分解(NEDA)方法6等。而本文将介绍可以获得分子中原子的能量以及原子对之间的相互作用的Mayer能量分解方法7及其在Amesp中的使用。
用户7592569
2023/09/03
3130
Mayer能量分解方法及其在Amesp中的使用
在 JavaScript 中轻松处理 this [每日前端夜话0xD1]
我喜欢 JavaScript 中能够更改函数执行上下文(也称为 this)的特性。
疯狂的技术宅
2019/10/17
2.4K0
在JavaScript中,如何创建一个数组或对象?
1:使用数组字面量(Array Literal)语法,使用方括号 [] 包裹元素,并用逗号分隔:
王小婷
2023/10/23
4200
在JavaScript中,如何创建一个数组或对象?
javascript判断一个变量是否是数字
其实判断的是有两种需求的,一种是数字或者数字字符串,一种是数值类型,下面分别做一下介绍。
IT工作者
2021/12/28
1.8K0
在 .NET Core 中运行 JavaScript
在 .NET Framework 时,我们可以通过V8.NET等组件来运行 JavaScript,不过目前我看了好几个开源组件包括V8.NET都还不支持 .NET Core ,我们如何在 .NET Core 中运行 JavaScript 呢,答案是使用 NodeServices。关于为何有在 .NET Core 中执行 JavaScript 这种需求,比较特殊,举个栗子:当你做模拟登录时,目标网站可能采用一些加密算法来计算特殊的值,如果你要完全模拟,那么除了用C#翻译这个算法还有个办法就是直接将这段加密算法JS代码拷贝使用C#来执行。还举个栗子:SPA服务端渲染,比如Angular、 React等。
晓晨
2019/03/20
3.9K0
在 .NET Core 中运行 JavaScript
JSON 在JavaScript 中的使用。
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。
愷龍
2022/10/06
10K0
矩阵特征值分解(EDV)与奇异值分解(SVD)在机器学习中的应用
参考资料 百度百科词条:特征分解,矩阵特征值,奇异值分解,PCA技术 https://zhuanlan.zhihu.com/p/29846048 https://towardsdatascience.com/all-you-need-to-know-about-pca-technique-in-machine-learning-443b0c2be9a1
全栈程序员站长
2022/07/22
1.2K0
矩阵特征值分解(EDV)与奇异值分解(SVD)在机器学习中的应用
在 JavaScript 中如何克隆对象?
我们假设一个变量 name 具有一个与之关联的原始值(number,string,boolean,undefined 和null)。 如果我们将此变量 name 复制到另一个变量name2 ,则原始变量的任何修改都不会影响到第二个变量,因为它们是原始值。
前端小智@大迁世界
2022/06/15
4.7K0
在 Chrome DevTools 中调试 JavaScript
由浅入深说一说怎么样在 Chrome DevTools 中调试 JavaScript。
从入门到进错门
2020/03/17
5K0
矩阵分解在协同过滤推荐算法中的应用
    在协同过滤推荐算法总结中,我们讲到了用矩阵分解做协同过滤是广泛使用的方法,这里就对矩阵分解在协同过滤推荐算法中的应用做一个总结。(过年前最后一篇!祝大家新年快乐!明年的目标是写120篇机器学习,深度学习和NLP相关的文章)
刘建平Pinard
2018/08/14
1.1K0
JavaScript去除数组中重复的数字
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> //创建一个数组 var arr = [1,2,3,2,2,1,3,4,2,5]; //去除数组中重复的数字 //获取数组中的每一个元素 for(var i=0 ; i<arr.length ; i++){ //console.log(arr
hankleo
2020/09/17
1.9K0
JavaScript 中如何判断变量是否为数字
JavaScript 是一种动态类型语言,这意味着解释器在运行时确定变量的类型。实际上,这也允许我们在相同的代码中使用相同的变量来存储不同类型的数据。如果没有文档和一致性,我们在使用代码时并不总是知道变量的类型。
前端小智@大迁世界
2020/10/29
2.8K0
JavaScript数字(数值)
当数字直接出现在程序中时,被称为数值直接量。在 JavaScript 程序中,直接输入的任何数字都被视为数值直接量。 示例1 数值直接量可以细分为整型直接量和浮点型直接量。浮点数就是带有小数点的数值,而整数是不带小数点的数值。
用户3519280
2023/07/07
2230
在排序数组中查找数字
思路: 2分查找数组中的第一个k: 1. 如果中间数字大于k,那么k只可能出现在前半段 2. 如果中间数字小于k,那么k只可能出现在后半段 3. 如果中间数字等于k: - 如果中间数字的前面不是k,那么中间数字恰好就是第一个k - 如果中间数字的前面是k,那么第一个k肯定在前半段
用户8639654
2021/07/23
3.7K0
在现代 JavaScript 中编写异步任务[每日前端夜话0xDD]
在本文中,我们将探讨过去异步执行的 JavaScript 的演变,以及它是怎样改变我们编写代码的方式的。我们将从最早的 Web 开发开始,一直到现代异步模式。
疯狂的技术宅
2019/11/03
2.4K0
在php代码中内嵌javascript代码
作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主 文章目录 格式: 意思: 代码: 需要注意的地方: ---- 格式: 变量($cyg)=<<<start
贵哥的编程之路
2022/09/23
2K0
在php代码中内嵌javascript代码
$加数字在Shell中的含义
$1 - Linux Bash Shell Scripting Tutorial Wiki (cyberciti.biz)
阿东
2023/02/27
1.6K0
$加数字在Shell中的含义
在 JavaScript 中对数组进行排序
排序是您在学习JavaScript时将使用的众多基本方法之一。让我们回顾一下如何对不同的数据类型使用排序方法。
腾龙
2022/06/02
4.9K0
剑指offer - 数组中重复的数字 - JavaScript
题目描述:找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0 ~ n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。
心谭博客
2020/04/21
1K0
在JavaScript中仿真Java的enum
背景 最近开始做的一个项目使用facebook的ReactJS前端框架。发现经常使用react的keyMirror工具来定义一些枚举常量: var keyMirror = require('keyMirror'); var AppMode = keyMirror({ LOG_IN: null, SIGN_UP: null }); module.exports = AppMode; 其他JS代码对该枚举的引用大概如下代码: var AppMode = require('../const/app
老码农
2018/06/27
2.3K0

相似问题

在Javascript中分解数字

27

将数字分解为javascript中位置数字的和

33

使用Javascript数组对数字进行分解

57

分解一个数字

92

分解一个数字

50
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文