Ich versuche, einen Zufallszahlengenerator zu machen, der mehr "gleichmäßig" zwischen drei- und vierstelligen Bereichen auswählt. Wenn ich es einfach mache:Zufällige Auswahl zwischen 2 oder mehr Bereichen
Ich bin mir bewusst, dass in den meisten Fällen eine 4-stellige Nummer ausgewählt wird. Ich mag 3-stellige Zahlen von mehr Chance geben, ausgewählt zu werden, so dass ich tat dies:
rand_3_digit_num = (100..999)
rand_4_digit_num = (1000..9999)
rand([rand_3_digit_num, rand_4_digit_num].sample)
Gibt es einen anderen Ansatz, dies zu tun? Mein Ziel ist es, nur dreistelligen Zahlen eine größere Chance zu geben, ausgewählt zu werden als mit einem normalen Rand. Dieses Problem wird noch schlimmer, wenn ich 5-stellige oder 6-stellige Zahlen einstelle, die Wahrscheinlichkeit, dass 3-stellige oder 4-stellige Zahlen schnell gewählt werden, nimmt schnell ab.
Ihr Code ist eigentlich die beste Antwort. Es ist kurz, klar und es funktioniert gut. –
Auch, warum willst du das tun? Es wird fair sein, aber es wird unfair gegenüber den Elementen sein. 101 erscheint zum Beispiel 10 mal so viel wie 1001. –