Hi all!
Even though this solution is only relevant as an answer to the Quora
question, I want to post a correction.
Since there can be duplicates in the root sets, there is not always !n
permutations.
The formula is here:
https://brilliant.org/wiki/permutations-with-repetition/
The corrected list:
list=:4 : 0
v=.((x-1)#1),q: y
r1=.x parRuskeyE #v
r2=. >r1 (*/)@:{&.>"1 0 < v
r3=./:~"1 r2
r4=. ~.r3
perm=.3 : '(!#y)%*/!+/y=/~.y'
r5=.perm"1 r4
+/r5
)
Test output:
v=: ((x-1)#1),q:u=:2*2*3*3
r1=:3 parRuskeyE #v
r2=: >r1 (*/)@:{&.>"1 0 < v
r3=:/:~"1 r2
[r4=: ~.r3
1 2 18
2 2 9
1 4 9
2 3 6
3 3 4
1 6 6
1 3 12
1 1 36
*./u =*/"1 r4
1
perm=: 3 : '(!#y)%*/!+/y=/~.y'
[r5=:perm"1 r4
6 3 6 6 3 3 6 3
[+/r5
36
3 list 2*2*3*3
36
perm 1 2 3 3
12
(!4)%!2
12
perm 1 2 3 3 5 5
180
(!6)%(!2)*!2
180
Cheers,
Erling Hellenäs
On 2017-11-03 18:24, Erling Hellenäs wrote:
Hi all!
list=:4 : 0
v=.((x-1)#1),q: y
r1=.x parRuskeyE #v
r2=. >r1 (*/)@:{&.>"1 0 < v
r3=./:~"1 r2
r4=. ~.r3
(!x)*#r4
)
3 list 24
36
Cheers,
Erling Hellenäs
On 2017-11-03 17:36, Erling Hellenäs wrote:
Hi all !
Below is the output of the run on the Quora question.
Maybe someone can see if there is a problem.
Cheers,
Erling Hellenäs
[v=: 1 1 ,q:24
1 1 2 2 2 3
[r=:3 parRuskeyE #v
┌───────┬───────┬───────┐
│0 3 4 5│1 │2 │
├───────┼───────┼───────┤
│0 4 5 │1 3 │2 │
├───────┼───────┼───────┤
│0 4 5 │1 │2 3 │
├───────┼───────┼───────┤
│0 3 5 │1 4 │2 │
├───────┼───────┼───────┤
│0 5 │1 3 4 │2 │
├───────┼───────┼───────┤
│0 5 │1 4 │2 3 │
├───────┼───────┼───────┤
│0 3 5 │1 │2 4 │
├───────┼───────┼───────┤
│0 5 │1 3 │2 4 │
├───────┼───────┼───────┤
│0 5 │1 │2 3 4 │
├───────┼───────┼───────┤
│0 3 4 │1 5 │2 │
├───────┼───────┼───────┤
│0 4 │1 3 5 │2 │
├───────┼───────┼───────┤
│0 4 │1 5 │2 3 │
├───────┼───────┼───────┤
│0 3 │1 4 5 │2 │
├───────┼───────┼───────┤
│0 │1 3 4 5│2 │
├───────┼───────┼───────┤
│0 │1 4 5 │2 3 │
├───────┼───────┼───────┤
│0 3 │1 5 │2 4 │
├───────┼───────┼───────┤
│0 │1 3 5 │2 4 │
├───────┼───────┼───────┤
│0 │1 5 │2 3 4 │
├───────┼───────┼───────┤
│0 3 4 │1 │2 5 │
├───────┼───────┼───────┤
│0 4 │1 3 │2 5 │
├───────┼───────┼───────┤
│0 4 │1 │2 3 5 │
├───────┼───────┼───────┤
│0 3 │1 4 │2 5 │
├───────┼───────┼───────┤
│0 │1 3 4 │2 5 │
├───────┼───────┼───────┤
│0 │1 4 │2 3 5 │
├───────┼───────┼───────┤
│0 3 │1 │2 4 5 │
├───────┼───────┼───────┤
│0 │1 3 │2 4 5 │
├───────┼───────┼───────┤
│0 │1 │2 3 4 5│
├───────┼───────┼───────┤
│0 2 4 5│1 │3 │
├───────┼───────┼───────┤
│0 4 5 │1 2 │3 │
├───────┼───────┼───────┤
│0 2 5 │1 4 │3 │
├───────┼───────┼───────┤
│0 5 │1 2 4 │3 │
├───────┼───────┼───────┤
│0 2 5 │1 │3 4 │
├───────┼───────┼───────┤
│0 5 │1 2 │3 4 │
├───────┼───────┼───────┤
│0 2 4 │1 5 │3 │
├───────┼───────┼───────┤
│0 4 │1 2 5 │3 │
├───────┼───────┼───────┤
│0 2 │1 4 5 │3 │
├───────┼───────┼───────┤
│0 │1 2 4 5│3 │
├───────┼───────┼───────┤
│0 2 │1 5 │3 4 │
├───────┼───────┼───────┤
│0 │1 2 5 │3 4 │
├───────┼───────┼───────┤
│0 2 4 │1 │3 5 │
├───────┼───────┼───────┤
│0 4 │1 2 │3 5 │
├───────┼───────┼───────┤
│0 2 │1 4 │3 5 │
├───────┼───────┼───────┤
│0 │1 2 4 │3 5 │
├───────┼───────┼───────┤
│0 2 │1 │3 4 5 │
├───────┼───────┼───────┤
│0 │1 2 │3 4 5 │
├───────┼───────┼───────┤
│0 1 4 5│2 │3 │
├───────┼───────┼───────┤
│0 1 5 │2 4 │3 │
├───────┼───────┼───────┤
│0 1 5 │2 │3 4 │
├───────┼───────┼───────┤
│0 1 4 │2 5 │3 │
├───────┼───────┼───────┤
│0 1 │2 4 5 │3 │
├───────┼───────┼───────┤
│0 1 │2 5 │3 4 │
├───────┼───────┼───────┤
│0 1 4 │2 │3 5 │
├───────┼───────┼───────┤
│0 1 │2 4 │3 5 │
├───────┼───────┼───────┤
│0 1 │2 │3 4 5 │
├───────┼───────┼───────┤
│0 2 3 5│1 │4 │
├───────┼───────┼───────┤
│0 3 5 │1 2 │4 │
├───────┼───────┼───────┤
│0 2 5 │1 3 │4 │
├───────┼───────┼───────┤
│0 5 │1 2 3 │4 │
├───────┼───────┼───────┤
│0 2 3 │1 5 │4 │
├───────┼───────┼───────┤
│0 3 │1 2 5 │4 │
├───────┼───────┼───────┤
│0 2 │1 3 5 │4 │
├───────┼───────┼───────┤
│0 │1 2 3 5│4 │
├───────┼───────┼───────┤
│0 2 3 │1 │4 5 │
├───────┼───────┼───────┤
│0 3 │1 2 │4 5 │
├───────┼───────┼───────┤
│0 2 │1 3 │4 5 │
├───────┼───────┼───────┤
│0 │1 2 3 │4 5 │
├───────┼───────┼───────┤
│0 1 3 5│2 │4 │
├───────┼───────┼───────┤
│0 1 5 │2 3 │4 │
├───────┼───────┼───────┤
│0 1 3 │2 5 │4 │
├───────┼───────┼───────┤
│0 1 │2 3 5 │4 │
├───────┼───────┼───────┤
│0 1 3 │2 │4 5 │
├───────┼───────┼───────┤
│0 1 │2 3 │4 5 │
├───────┼───────┼───────┤
│0 1 2 5│3 │4 │
├───────┼───────┼───────┤
│0 1 2 │3 5 │4 │
├───────┼───────┼───────┤
│0 1 2 │3 │4 5 │
├───────┼───────┼───────┤
│0 2 3 4│1 │5 │
├───────┼───────┼───────┤
│0 3 4 │1 2 │5 │
├───────┼───────┼───────┤
│0 2 4 │1 3 │5 │
├───────┼───────┼───────┤
│0 4 │1 2 3 │5 │
├───────┼───────┼───────┤
│0 2 3 │1 4 │5 │
├───────┼───────┼───────┤
│0 3 │1 2 4 │5 │
├───────┼───────┼───────┤
│0 2 │1 3 4 │5 │
├───────┼───────┼───────┤
│0 │1 2 3 4│5 │
├───────┼───────┼───────┤
│0 1 3 4│2 │5 │
├───────┼───────┼───────┤
│0 1 4 │2 3 │5 │
├───────┼───────┼───────┤
│0 1 3 │2 4 │5 │
├───────┼───────┼───────┤
│0 1 │2 3 4 │5 │
├───────┼───────┼───────┤
│0 1 2 4│3 │5 │
├───────┼───────┼───────┤
│0 1 2 │3 4 │5 │
├───────┼───────┼───────┤
│0 1 2 3│4 │5 │
└───────┴───────┴───────┘
[r2=: >r (*/)@:{&.>"1 0 < v
12 1 2
6 2 2
6 1 4
6 2 2
3 4 2
3 2 4
6 1 4
3 2 4
3 1 8
4 3 2
2 6 2
2 3 4
2 6 2
1 12 2
1 6 4
2 3 4
1 6 4
1 3 8
4 1 6
2 2 6
2 1 12
2 2 6
1 4 6
1 2 12
2 1 12
1 2 12
1 1 24
12 1 2
6 2 2
6 2 2
3 4 2
6 1 4
3 2 4
4 3 2
2 6 2
2 6 2
1 12 2
2 3 4
1 6 4
4 1 6
2 2 6
2 2 6
1 4 6
2 1 12
1 2 12
6 2 2
3 4 2
3 2 4
2 6 2
1 12 2
1 6 4
2 2 6
1 4 6
1 2 12
12 1 2
6 2 2
6 2 2
3 4 2
4 3 2
2 6 2
2 6 2
1 12 2
4 1 6
2 2 6
2 2 6
1 4 6
6 2 2
3 4 2
2 6 2
1 12 2
2 2 6
1 4 6
6 2 2
2 6 2
2 2 6
8 1 3
4 2 3
4 2 3
2 4 3
4 2 3
2 4 3
2 4 3
1 8 3
4 2 3
2 4 3
2 4 3
1 8 3
4 2 3
2 4 3
4 2 3
[r3=:/:~"1 r2
1 2 12
2 2 6
1 4 6
2 2 6
2 3 4
2 3 4
1 4 6
2 3 4
1 3 8
2 3 4
2 2 6
2 3 4
2 2 6
1 2 12
1 4 6
2 3 4
1 4 6
1 3 8
1 4 6
2 2 6
1 2 12
2 2 6
1 4 6
1 2 12
1 2 12
1 2 12
1 1 24
1 2 12
2 2 6
2 2 6
2 3 4
1 4 6
2 3 4
2 3 4
2 2 6
2 2 6
1 2 12
2 3 4
1 4 6
1 4 6
2 2 6
2 2 6
1 4 6
1 2 12
1 2 12
2 2 6
2 3 4
2 3 4
2 2 6
1 2 12
1 4 6
2 2 6
1 4 6
1 2 12
1 2 12
2 2 6
2 2 6
2 3 4
2 3 4
2 2 6
2 2 6
1 2 12
1 4 6
2 2 6
2 2 6
1 4 6
2 2 6
2 3 4
2 2 6
1 2 12
2 2 6
1 4 6
2 2 6
2 2 6
2 2 6
1 3 8
2 3 4
2 3 4
2 3 4
2 3 4
2 3 4
2 3 4
1 3 8
2 3 4
2 3 4
2 3 4
1 3 8
2 3 4
2 3 4
2 3 4
[r4=: ~.r3
1 2 12
2 2 6
1 4 6
2 3 4
1 3 8
1 1 24
*./24 =*/"1 r4
1
NB. All permutations
(!3)*#r5
312
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm