Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

หมายเลขเข้าใน C++


หมายเลขเข้า เป็นตัวเลขพิเศษซึ่งเท่ากับจำนวนการเรียงสับเปลี่ยนของ {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