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 次查看

开启你的职业生涯

通过完成课程获得认证

立即开始
广告

© . All rights reserved.