You are on page 1of 1

gaurav.arya@nagarro.

com
public static void fact(int[] arr,int l){
int n = arr.Length;
int s = n - l;
for (int i = 1; i <= l; i++)
{
if (l == n)
{
print(arr);
int tmp = arr[s];
for (int j = s + 1; j < n; j++)
{
arr[j - 1] = arr[j];
}
arr[n - 1] = tmp;
}
else
{
fact(arr, l + 1);
int tmp = arr[s];
for (int j = s + 1; j < n; j++)
{
arr[j - 1] = arr[j];
}
arr[n- 1] = tmp;
}
}
}
public static void print(int[] arr)
{
for (int i = 0; i < arr.Length; i++)
{
Console.Write(arr[i] + " ");
}
Console.WriteLine();
}

You might also like