Javascript教程
JavaScript基础
JavaScript Objects
JavaScript BOM
JavaScript DOM
JavaScript OOP
JavaScript Cookies
JavaScript事件
JavaScript异常
JavaScript常用

JavaScript 使用递归求数因数的程序

JavaScript 程序使用递归查找数的因子

在本示例中,您将学习编写一个 JavaScript 程序,该程序使用递归查找数字的阶乘。
要理解此示例,您应该了解以下JavaScript 编程主题:
JavaScript 递归 JavaScript if...else 语句
一个数的阶乘是从 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
function factorial(x) {
    // if number is 0
    if (x == 0) {
        return 1;
    }
    // if number is positive
    else {
        return x * factorial(x-1);
    }
}
// take input from the user
const num = prompt('Enter a positive number: ');
// calling factorial() if num is positive
if (num >= 0) {
    const result = factorial(num);
    console.log(`The factorial of ${num} is ${result}`);
}
else {
    console.log('Enter a positive number.');
}
输出
Enter a positive number: 4
The factorial of 4 is 24
在上面的程序中,提示用户输入一个数字。
当用户输入负数时,将显示消息 输入正数。
当用户输入正数或0时,函数 factorial(num)被调用。
如果用户输入数字0,程序将返回1。 如果用户输入一个大于 0 的数字,程序将通过减少数字递归调用自己。 这个过程一直持续到数字变为 1、然后当数字变为 0 时,返回 1、
这里,
factorial(4) returns 4 * factorial(3)
factorial(3) returns 4 * 3 * factorial(2)
factorial(2) returns 4 * 3 * 2 * factorial(1)
factorial(1) returns 4 * 3 * 2 * 1 * factorial(0)
factorial(0) returns 4 * 3 * 2 * 1 * 1
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4