阅读 174

使用 C++ 查找配对方式的数量

为了解决一个问题,其中 n - 现在每个人的人数可以是单身或成对出现,因此我们需要找到这些人可以配对的方式总数。


Input : 3Output: 4Explanation : [ {1}, {2}, {3},], [{1, 2}, {3}], [{1}, {2, 3}], [{1, 3}, {2}] these four ways are the only ways we can pa up these 3 people.Input : 6Output : 76


寻找解决方案的方法

在这种方法中,我们将使用Young Tableau的公式来计算这个问题,我们将使用的公式是 -


A[n] = A[n-1] + (n-1) * A[n-2]


示例

上述方法的 C++ 代码


#include <bits/stdc++.h>using namespace std;int Young_Tableau(int n){
    int A[n + 1];// 存储答案。    A[1] = 1; // 初始值    A[2] = 2; // 初始值    for (int i = 3; i <= n; i++) { // using the formula of "Young Tableau" to calculate our answer        A[i] = A[i - 1] + (i - 1) * A[i - 2];
    }
    return A[n]; // 返回答案}int main(){
    int n = 6;
    cout << Young_Tableau(n);
    return 0;
}

输出结果

76


以上代码说明

在上面的方法中,我们只是应用了 Young Tableau 的公式,我们需要在这里找到前两个数字。现在我们可以将这些数字存储在数组索引中。通过订阅,我们可以为我们的公式获得它们的值,因此我们可以计算出我们的答案。

结论

在本教程中,我们解决了一个问题,以找到几种配对人的方法。我们还学习了针对此问题的 C++ 程序以及解决此问题的完整方法(Normal)。我们可以用其他语言编写相同的程序,例如 C、java、python 和其他语言。我们希望本教程对您有所帮助。


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐