Skip to content
Related Articles

Related Articles

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

View Discussion
Improve Article
Save Article
  • Difficulty Level : Medium
  • Last Updated : 01 Sep, 2022
View Discussion
Improve Article
Save Article

There are n boys and n (n < 10) 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.

Examples: 

Input: n = 5 
Output: 2880

Input: n = 1
Output: 1
Explanation: There is only 1 boy and 1 girl.
So there is only one possible arranegment

Approach: 

  1. First, find the total number of ways in which boys can be arranged on a round table. 
    No. of ways to arrange boys on table = (n-1)!
  2. After making boys’ arrangements, now make arrangements for girls. After seating boys, there are n space available between them. So there are n positions and n number of girls. 
  3. So the total number of arrangement in which girls sit between boys are n!
  4. Therefore Total number of ways = (number of arrangements of boys) * (number of ways to sit girl among boys) = (n-1)! * (n!)

Below is the implementation of the above approach: 

C++




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




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




# Python3 program to find number
# of ways in which n boys and n
# girls can sit alternatively
# sound a round table.
 
# Get n
n = 5
 
# find fac1 = (n-1)!
fac1 = 1
for i in range(2, n):
    fac1 = fac1 * i
 
# Find fac2 = n!
fac2 = fac1 * n
 
# Find total number of ways
totalWays = fac1 * fac2
 
# Print the total number of ways
print(totalWays)
 
# This code is contributed
# by sahilshelangia

C#




// 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
// 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 ways
echo $totalWays . "\n";
 
// This code is contributed
// by Akanksha Rai(Abby_akku)

Javascript




<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 n
let 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 ways
totalWays = fac1 * fac2;
 
// Print the total number of ways
document.write(totalWays + "<br>");
 
// This code is contributed
// by gfgking
 
</script>

Output

2880

Time complexity: O(n), for iterating over n to calculate factorial.
Auxiliary Space: O(1)


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!