home *** CD-ROM | disk | FTP | other *** search
- program joseph;
- const anzahl=41;
- rest=2;
- abzaehl=3;
- var i,j,k:integer;
- reihe:set of 1..anzahl;
- begin
- (*initialisieren*)
- reihe:=[1..anzahl];
- i:=anzahl;
- k:=anzahl;
- (*wiederhole bis nur noch 2
- elemente in der reihe sind
- diese geben die gesuchten
- positionen an *)
- while k>rest do
- begin
- for j:= 1 to abzaehl do
- repeat
- if i<anzahl then i:=i+1
- else i:=1;
- until i in reihe;
- (* der jeweils dritte wird gestrichen *)
- reihe:=reihe-[i];
- k:=0;
- (* jetzt wird festgestellt, wieviele elemente die
- menge noch enthaelt *)
- for j:= 1 to anzahl do
- if j in reihe then k:=k+1;
- end; (* ende der while-schleife*)
- for j:= 1 to anzahl do
- if j in reihe then
- writeln('gesuchte positionnr.: ',j)
- end.
-