Hallo,
Dann ist ja wieder alles im Lot
Ich komme so auch auf 27.941...
Ist etwas seltsam gemischt, weil ich nicht immer komplett neu mische, sondern die alte Mischung als Ausgangpunkt nehme.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61:
| {$Apptype console} uses sysutils; const Runden = 100000000;var T1,T0: TDateTime; Karten : array[0..31] of integer; i,j,tp,MaxBisher,AnzRechts,cnt: integer;
procedure swap(i,j:integer); var tmp : integer; begin tmp:= Karten[i]; Karten[i]:=Karten[j]; Karten[j]:=tmp; end;
begin T0 := time; randomize; For i := 0 to 31 do Karten[i] := i; AnzRechts:= 0; cnt := 0; For j := 1 to Runden do begin i := 31; tp := random(i+1); swap(tp,i); inc(cnt); inc(AnzRechts); MaxBisher := Karten[i]; while MaxBisher <> 31 do begin inc(cnt); tp := random(i+1); swap(tp,i); IF MaxBisher< Karten[i] then begin MaxBisher:= Karten[i]; inc(AnzRechts); end; dec(i); end; end; T1 := time; writeln('Karten rechts ',AnzRechts/Runden:10:7); writeln('Karten links ',32-AnzRechts/Runden:10:7); writeln('Karten bis 32 kam ', cnt/Runden:10:7); writeln; writeln('Zeitdauer ',FormatdateTime('hh:mm:ss.zzz',T1-T0)); readln; end. |
Aber eigentlich wollte ich ja zählen.
1,2,3,4,...31,32 links 0 rechts 32 0! fach
1,2,3,4,...32,31 links 1 rechts 31 1! fach
1,2,3,4,..32,30,31 links 3 rechts 30 aber 2! fach
Aber jetzt muss ich natürlich die Zahlen vor der 32 permutieren und deren Anordnung testen
1,2,3,4,...29,30,31 links 0 rechts 31 war schon bei der ersten von 32 dabei
__1,2,3,4,.29,31,30 links 1+0 rechts 30 + 1 weil die 32 noch folgt die Werte für links und rechts mitnehmen
__1,2,3,4,.31,29,30 links 2+0 rechts 30 + 1 wieder 2! fach
..
Und das selbe Spiel mit 1,2,3..30 , eben den Karten die dann vor der 31 stehen.
Nun gut.Ich brauche wohl ein Feld was mir links X rechts 32-X zaehlt.
Ich permutiere ja nicht wirklich, ich zaehle nur , die Anzahl wenn ich die höchste Zahl noch vorne blubbern lasse.
Aber es gibt sehr viele Wiederholungen

, vielleicht kann die auch vorab zählen..
Gruß Horst