Hay N niños que se van a sentar alrededor de una mesa redonda. La tarea es encontrar el número de formas en que N niños pueden sentarse alrededor de una mesa redonda de modo que dos niños en particular se sienten juntos.
Ejemplos:
Entrada: N = 5
Salida: 12 ¡
2 boy se pueden arreglar en 2! maneras y otros chicos
se pueden organizar en (5 – 2)! (¡Se resta 2 porque los
dos niños seleccionados anteriormente se considerarán como un solo niño ahora y el número de formas de organizar a los niños alrededor de una mesa redonda = (n-1)!) Entonces, ¡las formas
totales son 2! * (n-2)!) = 2! * 3! = 12
Entrada: N = 9
Salida: 10080
Acercarse:
- ¡Primero, 2 niños se pueden organizar en 2! maneras.
- ¡Número de formas de organizar a los niños restantes y el par de dos niños anterior es (n – 2)!.
- Entonces, Total de formas = 2! * (n – 2)! .
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ implementation of the approach #include <bits/stdc++.h> using namespace std; // Function to return the total count of ways int Total_Ways(int n) { // Find (n - 2) factorial int fac = 1; for (int i = 2; i <= n - 2; i++) { fac = fac * i; } // Return (n - 2)! * 2! return (fac * 2); } // Driver code int main() { int n = 5; cout << Total_Ways(n); return 0; }
Java
// Java implementation of the approach import java.io.*; class GFG { // Function to return the total count of ways static int Total_Ways(int n) { // Find (n - 2) factorial int fac = 1; for (int i = 2; i <= n - 2; i++) { fac = fac * i; } // Return (n - 2)! * 2! return (fac * 2); } // Driver code public static void main (String[] args) { int n = 5; System.out.println (Total_Ways(n)); } } // This code is contributed by Tushil.
Python3
# Python3 implementation of the approach # Function to return the total count of ways def Total_Ways(n) : # Find (n - 2) factorial fac = 1; for i in range(2, n-1) : fac = fac * i; # Return (n - 2)! * 2! return (fac * 2); # Driver code if __name__ == "__main__" : n = 5; print(Total_Ways(n)); # This code is contributed by AnkitRai01
C#
// C# implementation of the approach using System; class GFG { // Function to return the total count of ways static int Total_Ways(int n) { // Find (n - 2) factorial int fac = 1; for (int i = 2; i <= n - 2; i++) { fac = fac * i; } // Return (n - 2)! * 2! return (fac * 2); } // Driver code static public void Main () { int n = 5; Console.Write(Total_Ways(n)); } } // This code is contributed by ajit..
Javascript
<script> // javascript implementation of the approach // Function to return the total count of ways function Total_Ways(n) { // Find (n - 2) factorial var fac = 1; for (i = 2; i <= n - 2; i++) { fac = fac * i; } // Return (n - 2)! * 2! return (fac * 2); } // Driver code var n = 5; document.write(Total_Ways(n)); // This code is contributed by aashish1995 </script>
12
Complejidad temporal: O(n)
Espacio auxiliar: O(1)