Permutations: Difference between revisions
Content added Content deleted
(Lua) |
|||
Line 1,503: | Line 1,503: | ||
<lang lua> |
<lang lua> |
||
local function permutation(a, n) |
local function permutation(a, n, cb) |
||
if n == 0 then |
if n == 0 then |
||
cb(a) |
|||
⚫ | |||
else |
else |
||
for i = 1, n do |
for i = 1, n do |
||
a[i], a[n] = a[n], a[i] |
a[i], a[n] = a[n], a[i] |
||
permutation(a, n - 1) |
permutation(a, n - 1, cb) |
||
a[i], a[n] = a[n], a[i] |
a[i], a[n] = a[n], a[i] |
||
end |
end |
||
Line 1,515: | Line 1,515: | ||
end |
end |
||
--Usage |
|||
⚫ | |||
local function callback(a) |
|||
⚫ | |||
⚫ | |||
end |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
</lang> |
</lang> |
||
{{out}} |
|||
<pre> |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
</pre> |
|||
=={{header|Mathematica}}== |
=={{header|Mathematica}}== |