You can divide the pizza fairly with N players as follows:
* The cutter proposes to cut a small slice (say 5 degrees) and asks who wants it
* If nobody does, he proposes to cut a slightly larger slice and asks who
wants it? The proposed slice gets larger and larger until somebody
calls out 'yes'
* Once somebody says they want the slice, it is
actually cut and given to them.
* The game continues until all the pizza is divided up
This balances peoples 'greediness' against their desire to get a slice. You can keep waiting and waiting for the proposed slice to get larger, but the risk is somebody else will call for it first. If you keep waiting for a large slice, the pizza will eventually be gone and you will have none. It forces everybody to choose the smallest size they would be satisfied with, until all the pizza is gone.
If you can't trust the cutter to cut the slice he said he was going to cut for himself, after demonstrating the proposed cut, then you can't trust the cutter to not simply devour the entire pizza right there in front of everybody.
Well, this system is somewhat optimised for practicality. A truly 'fair' system would allow people to submit blind bids, for how wide a slice they would like, with the smallest bid taking the slice. Eg:
* Everybody writes down how much pizza they would like on a folded piece of paper.
You put down 15 degrees, I put down 25 degrees, etc.
* The papers are opened and the person who bid the lowest gets their
requested slice
* Repeat until all the pizza is gone.
Essentially you are running a blind auction to split up a limited resource. While being a fairer adaption of my original solution, it does turn out somewhat more unwieldy in practise :-)
Heh, but then you're introducing a bunch of variables that affect fairness, ie. arm length, reaction time (muscle twitch speed), proximity/position, etc.