Permutaciones para disponer N personas alrededor de una mesa circular

Dado N, el número de personas. La tarea es colocar a N personas alrededor de una mesa circular.
Ejemplos
 

Input: N = 4
Output: 6

Input: N = 5
Output: 24

Enfoque: Es el concepto de permutación circular , es decir, no hay un punto de inicio específico en el arreglo, cualquier elemento puede ser considerado como el inicio del arreglo. 
Para N = 4, los Arreglos serán:
 

A continuación se muestra la fórmula para encontrar permutaciones circulares: 
 

Circular Permutations = (N - 1)!

A continuación se muestra la implementación de la idea anterior: 
 

C++

// C++ code to demonstrate Circular Permutation
#include <bits/stdc++.h>
using namespace std;
 
// Function to find no. of permutations
int Circular(int n)
{
 
    int Result = 1;
 
    while (n > 0) {
        Result = Result * n;
        n--;
    }
 
    return Result;
}
 
// Driver Code
int main()
{
    int n = 4;
 
    cout << Circular(n - 1);
}

Java

// Java code to demonstrate
// Circular Permutation
import java.io.*;
 
class GFG
{
// Function to find no.
// of permutations
static int Circular(int n)
{
 
    int Result = 1;
 
    while (n > 0)
    {
        Result = Result * n;
        n--;
    }
 
    return Result;
}
 
// Driver Code
public static void main(String[] args)
{
    int n = 4;
     
    System.out.println(Circular(n - 1));
}
}
 
// This code is contributed
// by Naman_Garg

Python 3

# Python 3 Program to demonstrate Circular Permutation 
 
# Function to find no. of permutations
def Circular(n) :
    Result = 1
 
    while n > 0 :
        Result = Result * n
        n -= 1
 
    return Result
     
# Driver Code
if __name__ == "__main__" :
    n = 4
 
    # function calling
    print(Circular(n-1))
 
# This code is contributed by ANKITRAI1

C#

// C# code to demonstrate
// Circular Permutation
using System;
                     
 
public class GFG {
 
// Function to find no.
// of permutations
static int Circular(int n)
{
  
    int Result = 1;
  
    while (n > 0)
    {
        Result = Result * n;
        n--;
    }
  
    return Result;
}
  
// Driver Code
public static void Main()
{
    int n = 4;
      
    Console.Write(Circular(n - 1));
}
}
  
/* This Java code is contributed by 29AjayKumar*/

PHP

<?php
// PHP code to demonstrate Circular Permutation
 
// Function to find no. of permutations
function Circular($n)
{
    $Result = 1;
 
    while ($n > 0)
    {
        $Result = $Result * $n;
        $n--;
    }
 
    return $Result;
}
 
// Driver Code
$n = 4;
 
echo Circular($n - 1);
 
// This code is contributed by mits
?>

Javascript

<script>
// javascript code to demonstrate
// Circular Permutation
 
    // Function to find no.
    // of permutations
    function Circular(n)
    {
        var Result = 1;
        while (n > 0)
        {
            Result = Result * n;
            n--;
        }
 
        return Result;
    }
 
    // Driver Code
    var n = 4;
    document.write(Circular(n - 1));
 
// This code is contributed by Rajput-Ji
</script>
Producción: 

6

 

Complejidad Temporal: O(N) donde N es el número de personas.
Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por Naman_Garg y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *