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

There are n boys and n girls are to be seated around a round table, in a circle. The task is to find number of ways in which n boys and n girls can sit alternatively aound a round table. Given n<10

**Examples:**

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!)**

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

*chevron_right*

*filter_none*

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

*chevron_right*

*filter_none*

## 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 ` |

*chevron_right*

*filter_none*

## 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) ` |

*chevron_right*

*filter_none*

## 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) ` |

*chevron_right*

*filter_none*

**Output:**

2880

## Recommended Posts:

- Puzzle | Neighbors in a round table
- Arrangement of the characters of a word such that all vowels are at odd places
- Maximum height of triangular arrangement of array values
- Arrangement of words without changing the relative position of vowel and consonants
- Shortest path from source to destination such that edge weights along path are alternatively increasing and decreasing
- Round the given number to nearest multiple of 10
- Compute the parity of a number using XOR and table look-up
- Program for Binomial Coefficients table
- Program to print multiplication table of a number
- Permutations to arrange N persons around a circular table
- Round-off a number to a given number of significant digits
- Check if each element of the given array is the product of exactly K prime numbers
- Fibonacci Power
- Count number of ways to divide an array into two halves with same sum

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.