List rooted trees: Difference between revisions

Content added Content deleted
m (→‎{{header|Haskell}}: Named a couple of anonymous functions)
No edit summary
Line 1,251: Line 1,251:
(()()(()))
(()()(()))
(()()()())</pre>
(()()()())</pre>

=={{header|Mathematica}} / {{header|Wolfram Language}}==
<lang Mathematica>ClearAll[Addbag, Addbags, AddbagAll, bag, cabinet]
n = 5;
Addbags[configs_List] := DeleteDuplicates[Map[LexicographicSort, Catenate[AddbagAll /@ configs], \[Infinity]]]
AddbagAll[config_] := Addbag[config, #] & /@ Position[config, bag[___], \[Infinity]]
Addbag[config_, pos_] := ReplacePart[config, pos -> Append[Extract[config, pos], bag[]]]
Nest[Addbags, {cabinet[bag[]]}, n - 1] // Column</lang>
{{out}}
<pre>cabinet[bag[bag[bag[bag[bag[]]]]]]
cabinet[bag[bag[bag[bag[],bag[]]]]]
cabinet[bag[bag[bag[],bag[bag[]]]]]
cabinet[bag[bag[],bag[bag[bag[]]]]]
cabinet[bag[bag[bag[],bag[],bag[]]]]
cabinet[bag[bag[],bag[bag[],bag[]]]]
cabinet[bag[bag[bag[]],bag[bag[]]]]
cabinet[bag[bag[],bag[],bag[bag[]]]]
cabinet[bag[bag[],bag[],bag[],bag[]]]</pre>


=={{header|Nim}}==
=={{header|Nim}}==