In einer kleinen Anwendung, die in C / C ++ geschrieben wurde, habe ich ein Problem mit der randFunktion und möglicherweise dem Startwert:
Ich möchte eine Folge von Zufallszahlen erzeugen, die unterschiedliche Ordnungen haben, dh unterschiedliche Logarithmuswerte (Basis 2). Es scheint jedoch, dass alle produzierten Zahlen in derselben Größenordnung liegen und nur zwischen 2 ^ 25 und 2 ^ 30 schwanken.
Liegt es daran, dass rand()Unix-Zeit verwendet wird, die mittlerweile eine relativ große Zahl ist? Was vergesse ich? Ich säe rand()nur einmal am Anfang des main().
rand(), gleichmäßig verteilte Zahlen zurückzugeben (Dokumentation mit hohem Google-Ranking sagt dies ausdrücklich aus), halte ich diese Frage für zukünftige Leser nicht für nützlich. Deshalb stimmen Sie ab, aber lassen Sie sich nicht davon abhalten, SO zu verwenden.

