gpt4 book ai didi

javascript - 在每个 i 值处使用 for 循环将数字相乘

转载 作者:行者123 更新时间:2023-11-30 07:49:25 25 4
gpt4 key购买 nike

我是 Javascript 新手,正在关注 freecodecamp。据我了解,我认为每次在 for 循环中将数字更改为 i 本身的值时,我应该能够将数字乘以 i。我这样做是因为我正在尝试进行因式分解。我有点偷看了答案,他们使用了阶乘类型的 javascript 函数或其他东西。我仍然想用我自己的编码来解决这个问题。我该怎么做?

下面是我已经尝试过的代码。

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

如果我输入 10 作为数字,我希望它取 10 的阶乘(即 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1)。我希望这也能以某种方式对 0 起作用,但我们总是可以从我最初的问题开始。

最佳答案

你需要在循环之前声明和初始化answer,你需要将ianswer相乘。

当您已经将 1 作为起始值时,您可以从第二个值开始循环。您还需要最后一个值。

值得一读:What's the difference between using "let" and "var"?

function factorialize(num) {
let answer = 1;
for (let i = 2; i <= num; i++) {
answer = i * answer;
}
return answer;
}

console.log(factorialize(5));

while 循环方法

function factorialize(num) {
var product = 1;
while (num) product *= num--;
return product;
}

console.log(factorialize(5));

递归方法。

function factorialize(num) {
return num
? num * factorialize(num - 1)
: 1;
}

console.log(factorialize(5));

关于javascript - 在每个 i 值处使用 for 循环将数字相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55819140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com