[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
**Subject**: **Listing all Permutations using recursive function**
**From**: Szilard <szilard@...>
**Date**: Tue, 16 Aug 2005 15:05:27 -0500

Hello,

`I just started with lua and checking what the best way is to solve
``various problems.
`My question is about recursive funtions.

`Lets say I want to write a function list_perm(n) that will list for me
``all the permutations of 1,2,...n
`First I wrote a function to list all the combinations of the n numbers

`The first combination listed should be 1,1,1,...1 the last one should be
``n,n,n,...n. And in the middle somewhere we should have for example
``1,2,3,4,...n
`I implemented the well known algorithm (I think it originates from Knuth):
A={}

`function Combinations(n,m)
`` for i = 1, n do
`` A[m] = i
`` if (m<n) then
`` Combinations(n,m+1)
`` else
` B=A[1]

` for j=2,n do B=B ..", ".. A[j] end
`` print(B)
` end
end
end
Combinations(4,1)
Combinations (n,1) should be called to start up.
How can I solve the similar problem when I need only the permutations?
Somhow I should be able to make the function remember which numbers did it allready use,
but probably there has to be a better way to do this.
Can anyone help in this?
Szilard