C++ 中的 Entringer 数


Entringer number 是一个特殊数字,它等于从 K+1 开始的 {1, 2, 3, … n+1} 的排列数,该数是通过交替递减和递增该值来更新的。

Entringer number 的值使用以下方法制定:

递推关系式:

E(n, k) = E(n, k-1) + E(n-1, n-k)

基值是:

E(0,0) = 1

E(n, 0) = 0

我们可以找到 Entringer number:

让我们举个例子来看一下值:

N = 5,k = 3

E(5, 3) = 14

程序来说明我们的解决方案的工作原理:

示例

实时演示

#include <iostream>
using namespace std;

int EntringerNumber(int n, int k)
{

   if (n == 0 && k == 0)
      return 1;
   if (k == 0)
      return 0;
   return EntringerNumber(n, k - 1) + EntringerNumber(n - 1, n - k);
}

int main() {

   int n = 5, k = 3;
   cout<<"The value of E("<<n<<", "<<k<<") = "<<EntringerNumber(n, k);
   return 0;
}

输出 −

The value of E(5, 3) = 14

更新日期:2021-01-22

112 次浏览

启动你的 职业生涯

通过完成课程获得认证

开始
广告