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
广告