title: How can I express a factorial n! with an F# function, recursive or otherwise?
body: <p>A factorial of a natural number (any number greater or equal than <code>0</code>) is that number multiplied by the factorial of itself minus one, where the factorial of <code>0</code> is defined as <code>1</code>.</p>
  
  <p>For example:</p>
  
  <pre><code>0! = 1
  1! = 1 * 0!
  2! = 2 * 1!
  3! = 3 * 2!
  4! = 4 * 3!
  5! = 5 * 4!
  </code></pre>
  
  <p>Another way of writing this is to multiply all natural numbers between <code>1</code> and <code>n</code> for <code>n!</code>:</p>
  
  <pre><code>5! = 1 * 2 * 3 * 4 * 5
  </code></pre>
  
  <p>How can I express this with a recursive function in F#? And <em>should</em> I do it with a recursive function?</p>
  
  <pre><code>//Factorials!
  let factorial n = 
      result = ?
  </code></pre>