Autor Beitrag
Carnivore
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Sa 06.09.03 19:44 
Hi und Hallo.
Folgendes, kann mir jemand evtl. nen codeschnipsel dazu geben?
Komm da irgendwie net weiter mit diesem sch*** Josephus.

Danke schonmal im voraus :D
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 06.09.03 20:44 
Bitte was? ist das ein Algotithmus? Wenn ja, dann erklär ihn mal und zeig uns, was du schon hast.
Carnivore Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Sa 06.09.03 22:38 
naja also bisher hab ich noch nichts.
Jap,es ist ein Algorithmus.
Zum Beispiel:
in einem Verein sind 10 MItglieder.
Und bei diesen 10 Mitgliedern setzen sich die Mitglieder in der Reihenfolge Nr.2,4,6,8,10,3,7,1,9 und Nr. 5 wird Vorsitzender.
Wenn sich halt jedes 2. mitglied setzt.
Ich hoffe das versteht man.
Ich hab da noch ne berechnung die mir aber irgendwie net wirklich hilft.
j=(i mod n)+1
die variable n=2 bei dem beispiel von oben,d.h. jeder zweite.

Ich weiß klingt mysteriös aber ich komm da eben net weiter.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 06.09.03 22:48 
Zitat:
Ich hoffe das versteht man.
Nein. Ich zumindest nicht.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: So 07.09.03 14:05 
Hab mal kurz gegoogelt und u.a. das hier gefunden:
www.math.northwester...lutions/josephus.pdf
Also zum ersten scheint das kein Algorithmus zu sein, sondern ein Problem.
Es stehen dabei Leute im Kreis, und startend bei Person Nr.2 wird im Uhrzeigersinn jede 2te Person "rausgeschmissen", bis nur noch eine Person übrig ist, also Raus sind Person 2,4,6,....
Berechnet werden soll die Person, die am Ende übrigbleibt. Richtig?

Wie man das macht,und warum das klappt, steht in dem pdf. In Delphi sollte das so gehen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
//n:=Anzahl der Leute, die im Kreis stehen
zweihochk:=1;
repeat
// verdopple solange, bis man die maximale 2er Potenz erhält, die in n reinpasst
    zweihochk:=zweihochk*2;
until zweihochk*2>n;
m:=n-zweihochk;
// m sollte jetzt positiv und kleiner als zweihochk sein, sonst hab ich mich vertan ;-)

Josephus:=2*m+1; 
// Josephus ist die Person, die übrigbleibt.


Edit: Was hat das eigentlich mit VCL zu tun?

_________________
We are, we were and will not be.
Carnivore Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: So 07.09.03 14:24 
Woh. :roll:
Cool und danke.
Weiß auch net was es mit vcl zutun hat, aber ich wußte net wo ich es sonst hinschreiben hätte können.
Aber nochmal Danke :D
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: So 07.09.03 14:35 
Kein Problem.
Das ist aber keine Lösung für das allgemeine-Josephus-Problem, bei dem sich nicht jeder 2te, sondern jeder n-te hinsetzen soll!
Ich weiss nicht genau, was du lösen willst. Wenn dir der Fall "jeder 2te" reicht, dann wär das die Lösung, ansonsten wirds komplizierter.

_________________
We are, we were and will not be.