C++ 使用给定的随机0-1生成器实现随机0-6生成器

C++ 使用给定的随机0-1生成器实现随机0-6生成器

在本文中,我们的主要目标是提出一种方法,使用给定的随机0-1生成器来实现随机0-6生成器。正如我们所知,

随机0-1生成器()函数返回0或1作为输出。同样,随机0-6生成器,顾名思义,给出0到6之间的任意随机数(包括0和6)。

还有一点要注意的是,随机0-6生成器应该生成介于1到6之间的随机数,概率相等。也就是说,获取任意数字的概率应始终相同。

示例

例如,随机0-6生成器在重复运行时提供的随机值或输出如下;

3 4 6 1 2 6 1 1 0

注意,数字重复出现,并且在范围内即0到6(包括两端)的任意数出现的概率相同。

问题陈述

实现一个函数,该函数使用random01Generator()函数生成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之间(包括两端)的一个随机整数。

算法

下面是实现一个使用rand函数生成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++编程代码。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程