Hallo,
vor einiger Zeit brauchte ich eine Zufallszahl von 1 bis 23. Kurz überlegt, was in der Küche so zur Verfügung steht. Münzen werfen? Würfel? Zahnstocher?
Ich entschied mich für zwei Würfel, deren Augen ich multiplizierte. Da ist dann der Zahlenraum von 1*1 bis 6*6 abgedeckt. Falls ein Ergebnis größer würde als 23, würfele ich halt noch mal.
So habe ich es gemacht, einen kleinen Gewinn verschickt. Aber irgendwie war da ein Bauchgefühl, das mir sagte, da stimmt was nicht. Und tatsächlich - die Primzahlen kann man per Multiplikation nicht darstellen. Und auch die 14, woher sollte die benötigte 7 für 2*7 herkommen?
Also ein Gedankenfehler. Wieviel Zahlen kann man per Multiplikation mit zwei Würfeln darstellen? Ich weiss es nicht auf Anhieb.
Kann es nun sein, dass auch hochstudierte Programmierer, die Betriebssysteme, Datenbanken und Programmiersprachen machen, nicht recht durchblicken? Ich hatte das Problem ja schon mal am 16.02. beschrieben, den Rat befolgt, bei MySQL SQL_NO_CACHE hinzugefügt und nicht für ausreichend empfunden. Dann alle Datensätze selektiert und per PHP ausgewählt:
mysql_data_seek( $res, rand( 0, mysql_num_rows($res)));
Es gibt immer noch "Häufungen" und "Löcher", wobei mir scheint, dass die ersten (älteren) Datensätze bevorzugt werden.
Gruß, Gast