Hay n niños y n niñas que se van a sentar alrededor de una mesa redonda, en círculo. La tarea es encontrar el número de maneras en que n niños y n niñas pueden sentarse alternativamente alrededor de una mesa redonda. Dado n<10
Ejemplos:
Input: n = 5 Output: 2880 Input: n = 1 Output: 1
Acercarse:
- Primero encuentre el número total de formas en que los niños pueden colocarse en una mesa redonda.
¡ Número de formas de colocar a los niños en la mesa = (n-1)! - Después de hacer arreglos para niños, ahora haga arreglos para niñas. Como después de sentar a los niños, no hay espacio disponible entre ellos. Así que hay n posición y n número de chicas. ¡Así que el número total de arreglos en los que las chicas se sientan entre los chicos es n! .
- Por lo tanto, número total de formas = (número de arreglos de niños) * (número de formas de sentarse niña entre niños) = (n-1)! * (n!)
A continuación se muestra la implementación del enfoque anterior:
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>
Producción:
2880
Publicación traducida automáticamente
Artículo escrito por sahilshelangia y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA