C++ 五胞體數


五胞體數被描述為帕斯卡三角形的第五個數。現在,正如你所知,它是第五個數,所以這意味著我們需要在帕斯卡三角形中至少有五個數字,所以這個序列的第一個數字從**1 4 6 4 1**開始,即帕斯卡三角形的第四行。因此,在這個給定的教程中,我們需要找到第 n 個五胞體數,例如

Input : 1

Output : 1

Input : 4

Output : 35

您可以從下圖中檢視輸出:

現在對於這個問題,如您所見,這是一種序列,因此我們嘗試在解決方案中找出此序列的模式。

解決方法

在這個程式中,我們將為這個序列找到一個通用公式,每個數字都遵循該公式。然後我們需要將我們的值代入公式,然後得到輸出。

示例

上述方法的 C++ 程式碼

#include<bits/stdc++.h>
using namespace std;
int answer(int n){ // function to find the value of nth pentatope number
    return (n * (n+1) * (n+2) * (n+3))/ 24; // the formula that we derived
}
int main(){
    int n = 6; // the pentatope number that we need to find
    cout << answer(n) << "\n";
    n = 4;
    cout << answer(n) << "\n";
    return 0;
}

輸出

126
35

上述程式碼的整體複雜度為**O(1)**,這意味著它在恆定複雜度下工作,這是我們可以達到的最佳時間複雜度,因為我們的時間不依賴於輸入大小,因此我們可以同時計算任何輸入的答案。

程式碼理解

在上述方法中,如您所知,我們試圖找出序列的模式並試圖從該模式中設計一個通用公式。現在我們提出的公式是**(n * (n + 1) * (n + 2) * (n + 3)) / 24**,其中 n 是我們需要找到的項。

結論

在本教程中,我們透過為其設計一個公式來解決查詢第 N 個五胞體數的問題。我們還學習了這個問題的 C++ 程式以及我們解決的完整方法。我們可以在其他語言(如 C、Java、Python 和其他語言)中編寫相同的程式。我們希望您發現本教程有所幫助。

更新於: 2021 年 11 月 25 日

119 次檢視

開啟你的職業生涯

透過完成課程獲得認證

立即開始
廣告