產生指定範圍內的均勻分佈的隨機整數是許多程式設計應用程式中的一項基本任務。雖然看似微不足道,但要達到最佳速度、均勻性、靈活性和種子要求可能具有挑戰性。
為了解決這些問題,C 2011 標準引入了強大的隨機數庫。下面的程式碼片段利用該函式庫的功能來有效地產生均勻分佈的隨機整數:
#include <random> std::random_device rd; // Only used once to initialise (seed) engine std::mt19937 rng(rd()); // Random-number engine used (Mersenne-Twister in this case) std::uniform_int_distribution<int> uni(min,max); // Guaranteed unbiased auto random_integer = uni(rng);
這種方法有幾個優點:
透過利用這種標準化方法,程式設計師可以有效地產生均勻分佈的隨機整數,無需複雜的公式或自訂實作。
以上是C 如何高效率產生均勻分佈的隨機整數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!