gpt4 book ai didi

javascript - 在计算数字的阶乘时,如何写出每个单独的数字以及星号符号?

转载 作者:行者123 更新时间:2023-12-01 00:06:11 25 4
gpt4 key购买 nike

我遇到了一个问题,需要我显示阶乘函数的完整工作原理,例如,如果用户想要锻炼 6!,我需要显示:6 * 5 * 4 * 3 * 2 * 1 = 720。我需要使用数组吗?

这是我到目前为止所拥有的,以便计算任何用户给定数字的因式分解值,尽管这仅输出最终值,而不是我上面所示的完全扩展的计算结果:

(变量号包含用户输入);

var f = [];
function factorizeFunction(number) { //this is the function that does the factorization calculations
if (number == 0 || number == 1)
return 1;
if (f[number] > 0)
return f[number];
return f[number] = factorizeFunction(number-1) * number;
}
document.getElementById("factorialTest").innerHTML = factorizeFunction(number);

对此的任何帮助将不胜感激!

最佳答案

一个选项是,在每次迭代时,推送到一个数组,该数组通过递归调用向下传递(或在初始调用时创建)。最后,返回由 * 连接的数组,以及数组的总和:

function factorizeFunction(number, arr = []) { //this is the function that does the factorization calculations
if (number == 0 || number == 1) arr.push(number);
else {
arr.push(number);
factorizeFunction(number - 1, arr);
}
return arr.join(' * ') + ' = ' + arr.reduce((a, b) => a * b, 1);
}
document.getElementById("factorialTest").innerHTML = factorizeFunction(5);
<div id="factorialTest"></div>

关于javascript - 在计算数字的阶乘时,如何写出每个单独的数字以及星号符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60372734/

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