C++ 五元数

c++server side programmingprogramming

五元数被描述为帕斯卡三角形中的第五个数字。现在,如您所知,它是第五个数字,因此这意味着我们需要在帕斯卡三角形中至少有五个数字,因此该系列的第一个数字从帕斯卡三角形的第四行1 4 6 4 1开始。因此,在本教程中,我们需要找到第 n 个五元组数,例如

输入:1
输出:1
输入:4
输出:35

您可以从下图中查看输出 −

现在对于这个问题,正如您所看到的,这是一种系列,因此我们尝试在解决方案中找出该系列的模式。

寻找解决方案的方法

在这个程序中,我们将找到该系列的通用公式,每个数字都遵循该公式。然后我们需要将我们的值放入公式中,然后我们得到输出。

示例

上述方法的 C++ 代码 

#include<bits/stdc++.h>
using namespace std;
int answer(int n){ // 函数用于查找第 n 个五元组数的值
    return (n * (n+1) * (n+2) * (n+3))/ 24; // 我们得出的公式
}
int main(){
    int n = 6; // 我们需要找到的五元组数
    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 和其他语言)编写相同的程序。我们希望您觉得本教程有用。


相关文章