Mathematica实现随机组合表输出的问题(二)?关于实现随机组合表输出的问题(二)?输入:list[s_, k1_, k2_] := DeleteDuplicates[ DeleteCases[ Partition[ RandomSample[Flatten[Table[#, {RandomInteger[{k1, k2}]}] & /@
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/24 20:18:43
Mathematica实现随机组合表输出的问题(二)?关于实现随机组合表输出的问题(二)?输入:list[s_, k1_, k2_] := DeleteDuplicates[ DeleteCases[ Partition[ RandomSample[Flatten[Table[#, {RandomInteger[{k1, k2}]}] & /@
Mathematica实现随机组合表输出的问题(二)?
关于实现随机组合表输出的问题(二)?
输入:
list[s_, k1_, k2_] :=
DeleteDuplicates[
DeleteCases[
Partition[
RandomSample[Flatten[Table[#, {RandomInteger[{k1, k2}]}] & /@ s]],
2], #1 == #2 || #1 == Reverse[#2] || #[[1]] == #[[2]] &], {x_,
x_}]
list[{a, b, c, d}, 3, 4]
输出:
{{a, c}, {b, c}, {a, a}, {b, d}, {d, d}, {b, c}, {d, c}}
说明:要求每个子表的元素不不能相同,这里出现了{a,a,},{d,d}类.
谢谢!
Mathematica实现随机组合表输出的问题(二)?关于实现随机组合表输出的问题(二)?输入:list[s_, k1_, k2_] := DeleteDuplicates[ DeleteCases[ Partition[ RandomSample[Flatten[Table[#, {RandomInteger[{k1, k2}]}] & /@
你把DeleteDuplicates和DeleteCases换了位置,但里面的选项参数没改变位置导致DeleteDuplicates和DeleteCases这两个函数都失效了.
list[s_, k1_, k2_] := Module[{lis}, Label[begin];
lis = DeleteDuplicates[
DeleteCases[
Partition[
RandomSample[
Flatten[Table[#, {RandomInteger[{k1, k2}]}] & /@ s]], 2], {x_,
x_}], #1 == #2 || #1 == Reverse[#2] || #[[1]] == #[[2]] &];
If[And @@ (k1 <= Count[Flatten[lis], #] & /@ s), Print[lis],
Goto[begin]]]
用不好看的过程式代码筛选了一下结果.昨天回答失败了,这个就不用采纳了.