There is a simple procedure that ensure two people share in equal part a cake: one person cuts the cake, and the second chooses his/her piece first. What procedure should be taken for an arbitrary number of persons?

There is a simple procedure that ensure two people share in equal part a cake: one person cuts the cake, and the second chooses his/her piece first. What procedure should be taken for an arbitrary number of persons?

This question is incorrectly stated, but I think I understand what you're asking. It won't ensure that people get an *equal* share-- it ensures that neither person is justified in thinking that they got an unfairly small amount of cake, assuming that each finds larger portions desirable.

But anyway, a solution to the arbitrary number of people would be:
A) Nth person cuts a piece from "the cake".
B) The piece is passed to the next person, who may further subdivide the piece if he/she wishes.
C) If the piece is subdivided further, excess is returned to "the cake"
D) Repeat steps B & C until each person (apart from the Nth) who does not already have a piece of cake has had the option to subdivide the piece.
E) Whoever was the last person to cut or subdivide the piece is given that piece.
F) Repeat steps A-E until only 1 person does not have a piece of cake, who is given the remainder of the cake.

This ensures that assuming everyone wants as large a piece as possible, that everyone has a portion that they must think (or must have thought) was fair, and is therefore unjustified in thinking is anything but fair.

There is a simple procedure that ensure two people share in equal part a cake: one person cuts the cake, and the second chooses his/her piece first.

It doesn't work. If I cut some tasty morsel in two to share with my wife, if one piece is larger than the other, I give her the larger piece. If I give her a choice she will invariably choose the smaller.