给定N,即人数。任务是在圆桌周围布置N个人。
例子:
Input: N = 4
Output: 6
Input: N = 5
Output: 24
方法:这是循环置换的概念,即排列中没有特定的起点,任何元素都可以视为排列的开始。
对于N = 4,安排将是:
以下是查找循环排列的公式:
Circular Permutations = (N - 1)!
以下是上述想法的实现:
C++
// C++ code to demonstrate Circular Permutation
#include
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
0)
{
$Result = $Result * $n;
$n--;
}
return $Result;
}
// Driver Code
$n = 4;
echo Circular($n - 1);
// This code is contributed by mits
?>
Javascript
输出:
6