title: Find the minimum number of operations required to compute a number using a specified range of numbers
body: <p>Let me start with an example - 
  I have a range of numbers from 1 to 9. And let's say the target number that I want is 29.
  In this case the minimum number of operations that are required would be (9*3)+2 = 2 operations. Similarly for 18 the minimum number of operations is 1 (9*2=18).
  I can use any of the 4 arithmetic operators - +, -, / and *.</p>
  
  <p>How can I programmatically find out the minimum number of operations required?
  Thanks in advance for any help provided.</p>
  
  <p>clarification: <del>integers only, no decimals allowed mid-calculation. i.e. the following is not valid (from comments below): ((<strong>9/2</strong>) + 1) * 4 == 22</del>
  I must admit I didn't think about this thoroughly, but for my purpose it doesn't matter if decimal numbers appear mid-calculation. ((9/2) + 1) * 4 == 22 is valid. Sorry for the confusion.</p>