Seating arrangement of n boys and girls alternatively around a round table

10 May, 2021
There are n boys and n girls are to be seated around a round table, in a circle. The task is to find the number of ways in which n boys and n girls can sit alternatively around a round table. Given n<10Examples:  
Input: n = 5 
Output: 2880

Input: n = 1
Output: 1
 
Approach:  
First find the total number of ways in which boys can be arrange on round table. No. of ways to arrange boys on table = (n-1)!After making boys arrangement, now make arrangement for girls. As after seating boys there are n space available between them. So there are n position and n number of girls. So total number of arrangement in which girls sit between boys are n!.  Therefore Total number of ways = (number of arrangement of boys) * (number of ways to sit girl among boys) = (n-1)! * (n!)
First find the total number of ways in which boys can be arrange on round table. No. of ways to arrange boys on table = (n-1)!
After making boys arrangement, now make arrangement for girls. As after seating boys there are n space available between them. So there are n position and n number of girls. So total number of arrangement in which girls sit between boys are n!.  
Therefore Total number of ways = (number of arrangement of boys) * (number of ways to sit girl among boys) = (n-1)! * (n!)
Below is the implementation of the above approach:  
C++
Java
Python3
C#
PHP
Javascript
// C++ program to find number of ways in which// n boys and n girls can sit alternatively// sound a round table.#include <bits/stdc++.h>using namespace std; #define ll long int int main(){     // Get n    ll n = 5;     // find fac1 = (n-1)!    ll fac1 = 1;    for (int i = 2; i <= n - 1; i++)        fac1 = fac1 * i;     // Find fac2 = n!    ll fac2 = fac1 * n;     // Find total number of ways    ll totalWays = fac1 * fac2;     // Print the total number of ways    cout << totalWays << endl;     return 0;}
// Java program to find number of ways// in which n boys and n girls can sit// alternatively sound a round table.import java .io.*; class GFG{public static void main(String[] args){     // Get n    long n = 5;     // find fac1 = (n-1)!    long fac1 = 1;    for (int i = 2; i <= n - 1; i++)        fac1 = fac1 * i;     // Find fac2 = n!    long fac2 = fac1 * n;     // Find total number of ways    long totalWays = fac1 * fac2;     // Print the total number of ways    System.out.println(totalWays);}} // This code is contributed// by anuj_67..
# Python3 program to find number# of ways in which n boys and n# girls can sit alternatively# sound a round table. # Get nn = 5 # find fac1 = (n-1)!fac1 = 1for i in range(2, n):    fac1 = fac1 * i # Find fac2 = n!fac2 = fac1 * n # Find total number of waystotalWays = fac1 * fac2 # Print the total number of waysprint(totalWays) # This code is contributed# by sahilshelangia
// C# program to find number of ways// in which n boys and n girls can sit// alternatively sound a round table.using System; class GFG{public static void Main(){     // Get n    long n = 5;     // find fac1 = (n-1)!    long fac1 = 1;    for (int i = 2; i <= n - 1; i++)        fac1 = fac1 * i;     // Find fac2 = n!    long fac2 = fac1 * n;     // Find total number of ways    long totalWays = fac1 * fac2;     // Print the total number of ways    Console.WriteLine(totalWays);}} // This code is contributed// by Akanksha Rai(Abby_akku)
<?php// PHP program to find number of// ways in which n boys and n// girls can sit alternatively// sound a round table. // Driver Code // Get n$n = 5; // find fac1 = (n-1)!$fac1 = 1;for ($i = 2; $i <= $n - 1; $i++)    $fac1 = $fac1 * $i; // Find fac2 = n!$fac2 = $fac1 * $n; // Find total number of ways$totalWays = $fac1 * $fac2; // Print the total number of waysecho $totalWays . "\n"; // This code is contributed// by Akanksha Rai(Abby_akku)
<script> // Javascript program to find number of// ways in which n boys and n// girls can sit alternatively// sound a round table. // Driver Code // Get nlet n = 5; // find fac1 = (n-1)!let fac1 = 1;for (let i = 2; i <= n - 1; i++)    fac1 = fac1 * i; // Find fac2 = n!fac2 = fac1 * n; // Find total number of waystotalWays = fac1 * fac2; // Print the total number of waysdocument.write(totalWays + "<br>"); // This code is contributed// by gfgking </script>
2880
 
sahilshelangia
Akanksha_Rai
vt_m
gfgking
factorial
Combinatorial
Mathematical
Mathematical
Combinatorial
factorial
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.