溫馨提示×

怎么用c++遞歸算法求n的階乘

c++
小億
138
2024-05-30 15:42:11
欄目: 編程語言

下面是一個(gè)用C++遞歸算法求n的階乘的示例代碼:

#include <iostream>

int factorial(int n) {
    if (n == 0) {
        return 1;
    } else {
        return n * factorial(n-1);
    }
}

int main() {
    int n;
    std::cout << "請輸入一個(gè)整數(shù): ";
    std::cin >> n;

    if (n < 0) {
        std::cout << "請輸入一個(gè)非負(fù)整數(shù)!" << std::endl;
        return 1;
    }

    int result = factorial(n);
    std::cout << n << " 的階乘是: " << result << std::endl;

    return 0;
}

在上面的代碼中,factorial 函數(shù)使用遞歸的方式計(jì)算n的階乘。首先檢查輸入的 n 是否為 0,如果是則返回 1,否則返回 n 乘以 n-1 的階乘。在 main 函數(shù)中,用戶輸入一個(gè)整數(shù) n,然后調(diào)用 factorial 函數(shù)計(jì)算 n 的階乘,并輸出結(jié)果。

0