博舍

笔记——C++生成随机数 计算机生成的随机数是伪随机吗

笔记——C++生成随机数

一、C++生成随机数过程

        计算机所产生的随机数其实并不是真正随机的,而是伪随机的。当我们在使用rand()生成随机数时得到的实际上是从由随机数种子生成的一个数字序列中生成的一个数,该数字序列的长度一般是65535。也就是说一个固定的随机数种子生成的数字序列长度一般是65535,当我们在这个数字序列中生成随机数时,如果已经得到了65535个随机数那么接下来生成的随机数会和之前的随机数重复。简单点说就是如果不改变随机数种子的话,那么生成随机数的过程就是每次在一个固定的数字序列中拿出一个数(而且经过我多次试验发现每次还都是按顺序生成的,即有规律可循)。

二、使用cstdlib库

第一步:使用srand()设置随机数种子值(如果不设置的话会默认随机数种子为1即srand(1))。

用法:srand(unsignedintseed)//初始化随机数发生器通常用srand(time(0))来初始化,time(0)为1970年1月1日到现在的秒数,这样在每次运行代码时可以使数字序列都不相同。

第二步:使用rand()产生随机数。

用法:rand()//随机数发生器产生一定范围随机数的通用表示公式:(1)要取得[a,b)的随机整数:(rand()%(b-a))+a;(2)要取得[a,b]的随机整数:(rand()%(b-a+1))+a;(3)要取得(a,b]的随机整数:(rand()%(b-a))+a+1;//通用公式:a+rand()%n:其中a是范围的起始值,n是整数的范围。(4)要取得a到b之间的随机整数的另一种方式:a+(int)b*rand()/(RAND_MAX+1)(5)要取得0~1之间的浮点数:rand()/double(RAND_MAX)三、使用random库

    在C++11以前,C和C++都使用相同的方式来生成随机数。而C++11提供了随机数库,其中包括随机数引擎类和随机数分布类。

(1)随机数引擎类//一般用default_random_engine类产生随机非负数(不推荐直接使用)#include#include#includeusingnamespacestd;intmain(){default_random_enginee;e.seed(time(0));for(inti=0;i

java生成4位的随机数

Java生成4位的随机数

在Java编程中,生成随机数是一项常见的任务。随机数可以应用于各种场景,例如密码生成、验证码生成、游戏开发等。本篇文章将介绍如何使用Java生成一个四位数的随机数,并提供相应的代码示例。

什么是随机数?

随机数是一种在一定范围内无规律可循的数字。在计算机中,随机数是通过算法生成的伪随机数。生成的随机数可以在一定范围内任意选择,且不受之前随机数的影响。

使用Java生成随机数

Java提供了一个Random类,用于生成伪随机数。我们可以使用该类来生成需要的随机数。

下面是一个生成四位随机数的Java代码示例:

importjava.util.Random;publicclassRandomNumberGenerator{publicstaticvoidmain(String[]args){//创建一个Random对象Randomrandom=newRandom();//生成一个四位随机数intrandomNumber=random.nextInt(9000)+1000;System.out.println("随机数:"+randomNumber);}}

在上面的代码中,我们首先创建了一个Random对象。然后,使用nextInt方法生成一个0到8999之间的随机数。由于我们需要生成四位数,所以我们将生成的随机数加上1000,使其范围变为1000到9999。

运行上述代码,你将会得到一个类似以下的输出:

随机数:5487随机数生成的应用

生成的四位随机数可以应用于许多场景。这里举几个例子:

密码生成

生成随机数可以用于密码生成。在用户注册时,可以为其生成一个随机数作为初始密码,并要求用户在登录后修改密码。

StringgenerateRandomPassword(){Randomrandom=newRandom();intrandomNumber=random.nextInt(9000)+1000;return"P"+randomNumber;}验证码生成

验证码是一种用于验证用户身份的方法。生成四位随机数可以用于生成验证码,并发送给用户进行验证。

StringgenerateVerificationCode(){Randomrandom=newRandom();intrandomNumber=random.nextInt(9000)+1000;returnString.valueOf(randomNumber);}游戏开发

在游戏开发中,随机数经常被用于生成随机的游戏道具、随机敌人的位置等。

结论

在本篇文章中,我们学习了如何使用Java生成一个四位数的随机数。我们使用了Java的Random类,并通过生成一个0到9999范围内的随机数,并加上1000来实现四位数的生成。我们还介绍了随机数生成在密码生成、验证码生成和游戏开发中的应用。

希望本篇文章对你了解如何在Java中生成随机数有所帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇