Permutations: Difference between revisions

Content added Content deleted
Line 6,661: Line 6,661:
4,3,1,2
4,3,1,2
4,3,2,1
4,3,2,1
</pre>


=={{header|Ring}}==
<lang ring>

Another Solution

// Permutations -- Bert Mariani 2020-07-12
// Ask User for number of digits to permutate

? "Enter permutations number : " Give n
n = number(n)
x = 1:n // array
? "Permutations are : "
count = 0

nPermutation(1,n) //===>>> START
? " " // ? = print
? "Exiting of the program... "
? "Enter to Exit : " Give m // To Exit CMD window

//======================
// Returns true only if uniq number on row

Func Place(k,i)

for j=1 to k-1
if x[j] = i // Two numbers in same row
return 0
ok
next

return 1

//======================
Func nPermutation(k, n)

for i = 1 to n
if( Place(k,i)) //===>>> Call
x[k] = i
if(k=n)
See nl
for i= 1 to n
See " "+ x[i]
next
See " "+ (count++)
else
nPermutation(k+1,n) //===>>> Call RECURSION
ok
ok
next
return


</lang>
Output:
<pre>

Enter permutations number :
4
Permutations are :

1 2 3 4
1 2 4 3
1 3 2 4
1 3 4 2
1 4 2 3
1 4 3 2
2 1 3 4
2 1 4 3
2 3 1 4
2 3 4 1
2 4 1 3
2 4 3 1
3 1 2 4
3 1 4 2
3 2 1 4
3 2 4 1
3 4 1 2
3 4 2 1
4 1 2 3
4 1 3 2
4 2 1 3
4 2 3 1
4 3 1 2
4 3 2 1
Exiting of the program...
Enter to Exit :

</pre>
</pre>