title: all possible numerical expressions
body: <p>one totally useless question: I bought a numerical game, it's made of two black dice plus 5 coloured ones. the two black ones form a 2 digits number, ranging from 11 to 66, the other 5 are the numbers you can use, combining them in all possible numerical expressions with the task to obtain the target number.</p>
  
  <p>for example, black 40 + 2: target 42</p>
  
  <p>coloured 5 3 6 2 4, you can obtain the target by 5 3 + 6 * 4 2 + - (using RPN because it avoids brackets).</p>
  
  <p>now I'd like to use my pocket computer to find the best answer while we people play the game.</p>
  
  <p>I must say I didn't really think too hard about the solution yet, I just looked for the part on finding the permutations of the arguments, but then how to generate the possible expressions from that? I would do that using RPN and enumerating all possible "shapes" of expressions and then fill in the blanks with +-*/.</p>
  
  <p>I don't recognize the problem of enumerating the shapes of the expressions.</p>
  
  <p>the output would be this:
  .....xxxx
  ....x.xxx
  ...x..xxx
  ..x...xxx
  ....xx.xx
  ...x.x.xx
  ..x..x.xx
  ...xx..xx
  ..x.x..xx
  ....xxx.x
  ...x.xx.x
  ..x..xx.x
  ...xx.x.x
  ..x.x.x.x</p>
  
  <p>things like:
  ..xx...xx
  ...xxx..x
  ..x.xx..x
  ..x.xx..x
  are invalid, as the second or third operator would find one operand.</p>
  
  <p>I can use a hard coded list, but it looks really ugly!</p>