JavaScript 如何找到一个数的阶乘

JavaScript 如何找到一个数的阶乘

数字的阶乘是所有正下降整数的乘积。n的阶乘用n!表示。例如 –

4! = 4 * 3 * 2 * 1 = 24

5! = 5 * 4 * 3 * 2 * 1 = 120

在这里,4!发音为“4阶乘”,也称为“4感叹号”或“4惊叹号”。

在本文中,我们使用JavaScript 计算一个数字的阶乘。我们使用两种方法找到阶乘。第一种是迭代方法,另一种是递归方法。

使用迭代方法

在这里,我们在数字序列上迭代循环以得到给定数字的阶乘。使用此方法,与递归实现相比,内存消耗较少。但代码比递归方法更长。

让我们看一个示例。

示例

在这个示例中,有一个需要一个数字的文本字段和一个按钮,给出我们输入数字的阶乘的按钮。我们必须在给定的文本字段中输入一个数字来找到该数字的阶乘。然后,我们需要点击名为 Factorial 的按钮来获取结果。

如果我们输入一个负数,那么程序会计算 0 的阶乘,即 1

<!DOCTYPE html>
<html>
<head>
</head>
<body style = "text-align: center; font-size: 20px;">
<h1> Welcome to the javaTpoint.com </h1>
Enter a number: <input id = "num">
<br><br>
<button onclick = "fact()"> Factorial </button>
<p id = "res"></p>
<script>
function fact(){
var i, num, f;
f = 1;
num = document.getElementById("num").value;
for(i = 1; i <= num; i++)  
{
f = f * i;
}
i = i - 1;  
document.getElementById("res").innerHTML = "The factorial of the number " + i + " is: " + f ;
}
</script>
</body>
</html>

输出

执行上述代码后,输出将为-

JavaScript 如何找到一个数的阶乘

输入数字并点击按钮后,输出将是 –

JavaScript 如何找到一个数的阶乘

现在,我们将看到如何使用JavaScript的递归方法计算阶乘。

使用递归方法

在这种方法中,我们使用递归来计算一个数的阶乘。在这里,我们一次又一次地调用相同的函数来获取阶乘。使用递归,我们可以编写比迭代方法更少的代码。

现在,我们将在JavaScript中看一个使用递归计算阶乘的示例。

示例

这里有一个函数 fact() ,它接受一个参数 num 。它是我们需要计算阶乘的数字。当 num 的值为 0 时,该函数返回 1

在输出中,我们将看到一个需要输入数字的文本字段和一个给出输入数字的阶乘的按钮。我们需要在给定的文本字段中输入一个数字以找到该数字的阶乘。然后我们需要点击名为 Factorial 的按钮以获取结果。

<!DOCTYPE html>
<html>
<head>
</head>
<body style = "text-align: center; font-size: 20px;">
<h1> Welcome to the javaTpoint.com </h1>
Enter a number: <input id = "number">
<br><br>
<button onclick = "fact1()"> Factorial </button>
<p id = "res"></p>
<script>
function fact(num) 
{
if (num == 0) {
return 1;
}
else {
return num * fact( num - 1 );
}
}
function fact1()
{
var num = document.getElementById("number").value;
var f = fact(num);
document.getElementById("res").innerHTML="The factorial of the number " + num + " is: " + f ;
}
</script>
</body>
</html>

输出

在上述代码执行完之后,输出结果将会是 –

JavaScript 如何找到一个数的阶乘

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程