This problem is a little harder than it looks. It looks like it ought to be solved by a combinatorial coefficient, but, for instance, C(12,5) counts the number of ways of choosing five distinguishable items out of 12, which doesn't really have anything to do with our problem.
Another way of thinking about the problem is that we're trying to partition the number 12 into five parts. That would work, except that for every partition (such as 4+3+2+2+1) we then have to account for how many distinct orderings there are (since the friends are distinguishable), and this gets unmanageable.
If I mention that the answer is C(16,12), you might be able to realize what's happening. C(16,12) counts the number of ways of choosing 12 objects out of 16. Let me imagine a particular choice of those 12 objects, and let me represent it by displaying a list of 16 items, with a "*" for each item that was picked, and a "|" for each item that was not picked:
* * | * * * | * | * * | * * * *Can you see that this can be interpreted as a list of how many slices of pizza each friend ate?
The key to computing answers for how many ways m indistinguishable things can be divided among n (distinguishable) people or places is to think of the writing out the answer this way, as a list of m item symbols and n-1 divider symbols, and then to realize that C(m+n-1,m) will tell you how many ways this can be done.
For our introductory problem, m and n were both 3, and the number of ways was C(5,3) = (5*4*3*2*1) / ( (3*2*1) * (2*1) ) = 10. For our hard problem, the answer C(16,12) = 16!/(12! * 4!) = 1820.
(This sort of problem comes up in statistics and physics. It is often phrased in terms of balls and urns, but is actually trying to count the number of ways a set of particles can be arranged into various physical states.)
Back to The 12 Cut Pizza Puzzle.