溫馨提示×

C++楊輝三角形如何避免整數(shù)溢出

c++
小樊
89
2024-07-05 19:18:22
欄目: 編程語言

在計(jì)算楊輝三角形的過程中,可能會遇到整數(shù)溢出的問題,特別是當(dāng)需要計(jì)算階乘時。為避免整數(shù)溢出,可以使用組合公式來計(jì)算楊輝三角形中的每個元素,而不是直接計(jì)算階乘。組合公式是C(n, k) = n! / (k!(n-k)!),其中n和k分別是楊輝三角形中的行數(shù)和列數(shù)。

以下是一個使用組合公式計(jì)算楊輝三角形的示例代碼:

#include <iostream>
using namespace std;

long long combination(int n, int k) {
    long long result = 1;
    for (int i = 1; i <= k; ++i) {
        result = result * (n - i + 1) / i;
    }
    return result;
}

void printPascalTriangle(int numRows) {
    for (int i = 0; i < numRows; ++i) {
        for (int j = 0; j <= i; ++j) {
            cout << combination(i, j) << " ";
        }
        cout << endl;
    }
}

int main() {
    int numRows;
    cout << "Enter the number of rows in Pascal's Triangle: ";
    cin >> numRows;
    printPascalTriangle(numRows);
    return 0;
}

這樣可以避免整數(shù)溢出問題,從而安全地計(jì)算楊輝三角形中的每個元素。

0