Zero factorial is an often debated topic in mathematics. Whether 0! ought to be 0 or 1. Many argue that 0! ought to be 0. I can't remember the argument for that. However, math teachers say that 0! must be 1 to make probability work out correctly. There is a Calculus proof that 0! is 1 floating out somewhere. Update: the Euler gamma function (n) is used, int(x^(n-1)*e^(-x),x,x=0..INFIN);, say gamma(n)=(n-1)!, gamma(1)=1=0!. BTW, the int(fnc,x,bounds) notation is used in Maple and probably Mathematica.

Of course you can define 0! to be anything you want. After all, it's a free country (I hope). But if you're at all serious about mathematics, you'll define 0!=1. It's not "hotly debated", except by undergrads with too much time on their hands.

• If you want n!=n*(n-1)! to hold wherever possible, you'll have 0!=1 for the formula to hold for n=1. (It can't hold for n=0, unless you do really weird things for (-2)!, which you're never ever going to use, so don't bother trying to go that way)
• If you want to write
ex=x0/0!+x1/1!+x2/2!+...+xn/n!+...
then you'll want 0!=1 for the formula to hold. (You'll also want 00=1 for the case x=0)
• If you want the gamma function identity that linux8086 mentions, you'll want 0!=1.
• If you want to think logically, 0!, the product of 0 factors, has to be the multiplicative identity, also known as 1.
• If you want the combinatorics to work out, you'll note that there's exactly one way to permute the empty set: (), just like there's exactly one way to permute the set {1}: (1), just like there are exactly two ways to permute the set {1,2}: (1,2) and (2,1).
• If you can think of anywhere where it would be useful to have 0! not equal 1, please /msg me.
So yes, you can decide you're not playing along. But you'll never get anything useful (and you'll have to special case all your formulae for n=0, and you'll work harder and finish all your tests last). So why not get with the program?