There are **N** boys which are to be seated around a round table. The task is to find the number of ways in which **N** boys can sit around a round table such that two particular boys sit together.

**Examples: **

Input:N = 5

Output:48

2 boy can be arranged in 2! ways and other boys

can be arranged in (5 – 1)! (1 is subtracted because the

previously selected two boys will be considered as a single boy now)

So, total ways are 2! * 4! = 48.

Input:N = 9

Output:80640

**Approach:**

- First, 2 boys can be arranged in 2! ways.
- No. of ways to arrange remaining boys and the previous two boy pair is (n – 1)!.
- So,
**Total ways = 2! * (n – 1)!**.

Below is the implementation of the above approach:

## C++

`// C++ implementation of the approach ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `// Function to return the total count of ways ` `int` `Total_Ways(` `int` `n) ` `{ ` ` ` ` ` `// Find (n - 1) factorial ` ` ` `int` `fac = 1; ` ` ` `for` `(` `int` `i = 2; i <= n - 1; i++) { ` ` ` `fac = fac * i; ` ` ` `} ` ` ` ` ` `// Return (n - 1)! * 2! ` ` ` `return` `(fac * 2); ` `} ` ` ` `// Driver code ` `int` `main() ` `{ ` ` ` `int` `n = 5; ` ` ` ` ` `cout << Total_Ways(n); ` ` ` ` ` `return` `0; ` `} ` |

*chevron_right*

*filter_none*

## Java

`// Java implementation of the approach ` `import` `java.io.*; ` ` ` `class` `GFG ` `{ ` ` ` `// Function to return the total count of ways ` `static` `int` `Total_Ways(` `int` `n) ` `{ ` ` ` ` ` `// Find (n - 1) factorial ` ` ` `int` `fac = ` `1` `; ` ` ` `for` `(` `int` `i = ` `2` `; i <= n - ` `1` `; i++) ` ` ` `{ ` ` ` `fac = fac * i; ` ` ` `} ` ` ` ` ` `// Return (n - 1)! * 2! ` ` ` `return` `(fac * ` `2` `); ` `} ` ` ` `// Driver code ` `public` `static` `void` `main (String[] args) ` `{ ` ` ` ` ` `int` `n = ` `5` `; ` ` ` ` ` `System.out.println (Total_Ways(n)); ` `} ` `} ` ` ` `// This code is contributed by Tushil. ` |

*chevron_right*

*filter_none*

## Python3

`# Python3 implementation of the approach ` ` ` `# Function to return the total count of ways ` `def` `Total_Ways(n) : ` ` ` ` ` `# Find (n - 1) factorial ` ` ` `fac ` `=` `1` `; ` ` ` `for` `i ` `in` `range` `(` `2` `, n) : ` ` ` `fac ` `=` `fac ` `*` `i; ` ` ` ` ` `# Return (n - 1)! * 2! ` ` ` `return` `(fac ` `*` `2` `); ` ` ` ` ` `# Driver code ` `if` `__name__ ` `=` `=` `"__main__"` `: ` ` ` ` ` `n ` `=` `5` `; ` ` ` ` ` `print` `(Total_Ways(n)); ` ` ` `# This code is contributed by AnkitRai01 ` |

*chevron_right*

*filter_none*

## C#

`// C# implementation of the approach ` `using` `System; ` ` ` `class` `GFG ` `{ ` ` ` `// Function to return the total count of ways ` `static` `int` `Total_Ways(` `int` `n) ` `{ ` ` ` ` ` `// Find (n - 1) factorial ` ` ` `int` `fac = 1; ` ` ` `for` `(` `int` `i = 2; i <= n - 1; i++) ` ` ` `{ ` ` ` `fac = fac * i; ` ` ` `} ` ` ` ` ` `// Return (n - 1)! * 2! ` ` ` `return` `(fac * 2); ` `} ` ` ` `// Driver code ` `static` `public` `void` `Main () ` `{ ` ` ` `int` `n = 5; ` ` ` ` ` `Console.Write(Total_Ways(n)); ` `} ` `} ` ` ` `// This code is contributed by ajit.. ` |

*chevron_right*

*filter_none*

**Output:**

48

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.