使用給定的 Random-0-1-Generator 實現 Random-0-6-Generator
本文的主要目標是提出一種解決方案,使用給定的 random-0-1-Generator 來實現 random-0-6-Generator。眾所周知,
Random-0-1-Generator() 函式返回 0 或 1 作為輸出。類似地,random-0-6-Generator,顧名思義,會生成 0 到 6 之間的任何隨機數(包括 0 和 6)。
此外,需要注意的一點是,random-0-6-Generator 應該生成 0 到 6 之間的隨機數,且每個數出現的機率相等。也就是說,獲得任何數字的機率應該始終相同。
示例
例如,random-0-6-Generator 在重複執行時提供的隨機值或輸出如下所示:
3 4 6 1 2 6 1 1 0
請注意,數字會重複出現,並且在 0 到 6(包括 0 和 6)範圍內任何數字出現的機率都是相同的。
問題陳述
實現一個函式,使用 random01Generator() 函式生成 0 到 6(包括 0 和 6)之間的數字。所有數字出現的機率都應該相同。
方法
此處的目標是在指定範圍內生成隨機數。給定範圍為 0 到 6,包括數字 0 和 6。這裡我們使用 rand 函式。為了建立模擬、遊戲和其他需要隨機事件的活動,我們經常需要在程式碼中使用 rand 函式。
例如,如果擲骰子游戲中沒有隨機事件,那麼我們每次擲骰子都會得到相同的點數,這將導致不利的結局。因此,擁有隨機數生成器至關重要。這是一個 rand 函式,它生成隨機數。
什麼是 rand 函式?
cstdlib 標準庫的 rand 函式返回 0 到 RAND_MAX 之間的偽隨機數。關於 RAND_MAX,它是一個依賴於環境的值,表示 rand 函式返回的最高值。
在我們的例子中,由於範圍是 0 到 6,RAND_MAX 為 6。因此,每次執行程式時,rand 函式都會返回 0 到 6 之間的隨機整數(包括 0 和 6)。
演算法
下面是實現使用 rand 函式生成 0 到 6(包括 0 和 6)之間數字的函式的演算法。
步驟 1:開始
步驟 2:設定 n=1 並定義變數 random。
步驟 3:選擇範圍。這裡設定為 0 和 6。
步驟 4:使用 rand() 函式。
步驟 5:返回隨機值。
步驟 6:結束
下面是一個簡單的 C++ 程式,使用 rand 函式生成 0 到 6 之間的隨機整數。
示例
#include <iostream> #include <cstring> #include <cstdlib> using namespace std; int main() { int n=1, random; //set n equals 1 // print a random number using rand function cout << "Random number between 0 and 6\n"; while(n--){ random = rand()%6 + 1; //set the RAND MAX, that is 6 cout << random << " "; //return a random integer } return 0; }
輸出
執行後,將產生以下輸出
Random number between 0 and 6 2
結論
此程式每次執行時都會返回 0 到 6 之間的隨機整數。並且此範圍內任何數字出現的機率是相等的。類似地,您可以給出任何您選擇的範圍,程式將返回給定範圍內的隨機整數。
本文解決了獲取 0 到 6 之間隨機整數的挑戰。本文提供了返回 0 到 6 之間隨機整數的 C++ 程式設計程式碼。