使用給定的 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++ 程式設計程式碼。

更新於:2023年8月23日

瀏覽量:280

開啟您的 職業生涯

完成課程獲得認證

開始學習
廣告