On Thu, 18 Oct 2007 08:05:42 -0700, Water Cooler v2 <firstname.lastname@example.org> wrote:
>If you have, say, 4 boxes to put the following 6 types of things in: > >Apples >Oranges >Pears >Bananas >Gooseberry >Lemon > > >Such that you could: > >a) only put one piece of each of the things in one box; and > >b) you could put the same thing in all the boxes, i.e you could put, >say, an apple each in each of the boxes. In the mathematical jargon, >if repetition was allowed > > >Then, I know that we could have 6*6*6*6, i.e 1296 permutations. > >However, I want to know the algorithm to decide what those >combinations are. Help appreciated. Given the information on the actual size of your problem, an alternative approach would be to look at a "next permutation" function, as in C++. Rather than generating all the permutations in one go, just deal with them one at a time and step to the next one as required.