一个数字的阶乘是1到该数字所有数字的乘积。例如,
5的阶乘等于1 * 2 * 3 * 4 * 5 = 120。
正数n的阶乘由下式给出:
factorial of n (n!) = 1 * 2 * 3 * 4.....n
负数的阶乘不存在,而0的阶乘是1。
示例:查找阶乘
// program to find the factorial of a number
// take input from the user
const number = parseInt(prompt('Enter a positive integer: '));
// checking if number is negative
if (number < 0) {
console.log('Error! Factorial for negative number does not exist.');
}
// if number is 0
else if (number === 0) {
console.log(`The factorial of ${number} is 1.`);
}
// if number is positive
else {
let fact = 1;
for (i = 1; i <= number; i++) {
fact *= i;
}
console.log(`The factorial of ${number} is ${fact}.`);
}
输出
Enter a positive integer: 5 The factorial of 5 is 120.
在上面的程序中,会提示用户输入一个整数。然后使用if...else if...else
语句检查数字的条件。
- 当用户输入一个负数时,会显示错误消息。
- 当用户输入0时,阶乘为1。
- 当用户输入一个正整数时,使用
for
循环迭代从1到用户输入的数字,以查找阶乘。 - 每个数字都会相乘并存储在
fact
变量中。