Seating arrangement of N boys sitting around a round table such that two particular boys sit together

• Difficulty Level : Easy
• Last Updated : 31 Mar, 2021

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 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; }

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.

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

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..

Javascript



Output:

48

My Personal Notes arrow_drop_up
Recommended Articles
Page :