หมายเลขเข้า เป็นตัวเลขพิเศษซึ่งเท่ากับจำนวนการเรียงสับเปลี่ยนของ {1, 2, 3, … n+1} โดยเริ่มด้วย K+1 ซึ่งจะมีการปรับปรุงโดยการลดค่าแล้วเพิ่มหรือเพิ่มเป็นอย่างอื่น
ค่าของ Entringer Number ถูกกำหนดโดยใช้
ความสัมพันธ์ที่เกิดซ้ำ
E(n, k) =E(n, k-1) + E(n-1, n-k)
ค่าฐานคือ
E(0,0) =1
E(n, 0) =0
เราสามารถหาหมายเลขเข้าได้โดยใช้
มาดูตัวอย่างค่ากัน
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