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

- Seating arrangement of N boys sitting around a round table such that two particular boys sit together
- 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 | Set-2
- Round the given number to nearest multiple of 10
- Program for Binomial Coefficients table
- Compute the parity of a number using XOR and table look-up
- Find the number of cells in the table contains X
- Permutations to arrange N persons around a circular table
- Program to print multiplication table of a number
- Round-off a number to a given number of significant digits
- Number of ways to arrange 2*N persons on the two sides of a table with X and Y persons on opposite sides

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.