诗词录
您的位置 首页 一年级

关于计算机自主随机字符串的抽取

了解我的人,都知道,我是一个十分喜欢看电影的人,有的时候甚至一天看八部电影。但是这种到网页查找电影,找到自己喜欢的电影让后去看。这样的过程我认为日子长了,未免太没有意思。因此我有了…

了解我的人,都知道,我是一个十分喜欢看电影的人,有的时候甚至一天看八部电影。但是这种到网页查找电影,找到自己喜欢的电影让后去看。这样的过程我认为日子长了,未免太没有意思。因此我有了一个新奇的想法:我将部分电影名全部放到计算机里,让计算机给我决定我应当看哪部电影。
这个想法非常的新奇,因为突出点在于,并不是由我决定我因该看什么电影,而是由计算机决定。这增加了选择电影名称的有趣度,但也增加了是按这种情况的难度。
显而易见,我的目的是让计算机随机抽取电影名,而不是为我推荐。这样的话,有了目的,我们需要的材料以及必备的元素就已经有了,在目的里面说到关键词“计算机”“随机”“电影名”。不过好说的是,“电影名”这个东西并不难搞,百度一搜一大把,这是很好办到的事情,因此这个最先解决(谁叫他最简单)。让后就是解决“计算机”“随机”这两个东西了。非常明显的是,最简单的我们一眼就可以看出“计算机”,这就是我们需要的材料之一,只要有了它,才能完成我们的这次目的。我们准备好计算机,就要考虑下一个元素“随机”。
不得不说“随机”,在我们人脑这里是一种方法,我们十分明白,随机就是从一堆东西中无规律的找出一个东西。然而,我们这种想法在计算机中也有一个独特的名字称号,他就是广为人知的“算法”。在当今计算机社会,对于程序的编写有了非常大的进步,我们这里使用C++,因为我熟悉,我拿手,就是这么任性。
我们要养成不应当重复造轮子的好喜欢,因此,我们的前辈已经帮我们解决了“随机”这个问题,一个有趣的C++函数rand(),这既是我们要完成整个程序的重要函数,了解了这个函数就帮我们解决了问题。在这里,我们先不讨论这个函数里面到底是怎么运行的,要讨论这东西可大有学问。
那么我们就来写一个十分简单的程序:
#include
#include
#include
#include
using namespace std;
int main()
{
int a,b,c,d;//这里我们假设有四部电影
int e;//这里留着储备随即结果
e=rand(a,b,c,d);
cout 《 e;
return 0;
}
完成

既然我们的代码写完了,因为这是一个简单的代码,所以,可以找编译器测试一下。

那么也会会问,什么叫做随机,有随机这个数吗?

当然有,在大自然中,假设我们手中有一张硬纸,正面写着1,反面写着2,我们掏入空中,那么到底是正面还是反面呢?我们不知道,但我们知道这只是概率的问题,因此,随机这个名词,是统计学的一个名词。那么人能否给出一个真随机数呢?很抱歉,这是不可能的,因为人的大脑、心理决定了自身对于哪个数字的偏向。我们来思考极端一点的,假设你被别人盯上了,他在你的汽车中安置了一枚炸弹,连接着你的手机,你按了2这个按钮,你的汽车爆炸了,吓到了你,因此,你的潜意识会着重刻画这个事件以及里面的“2”。所以,人并不可能给一个随机的数字,因此才会有了民主投票选举法等等方式,人在力求公平。当然,人也可以间接的给出一个随机数,比如本自然段的开头。

那么,计算机是否可以给出一个随机数呢?抱歉,也是不现实的。那么为什么,众所周知,计算机是一个逻辑机器,凡事都要依靠数学逻辑。因此我们动一动脚趾头就可以想出来。那么为什么还要在上文中称之为随机?不是没有随机吗?其实计算机关于随机的问题,在计算机之父“冯·诺伊曼”就已经意识到这个问题,他意识到这个单靠数学逻辑运算的庞然大物,并不能直接产生随机数,但他可以间接,比如我们上文说到的rand()函数,他是依靠数学公式递归出来的:Ni+1=(A* Ni + B)% M这是简化后的公式。人们发现,计算机可以间接的通过公式、二项式等等产生出来,也可以借助外部条件,比如无线的事实频率、CPU的实时频率、晶管分子震动次数等等,也可能够随时影响着计算机的随机数。但这些方法产生的数字,并不是纯粹的随机数,因此我们计算机科学管它叫做“伪随机数”。

本文来自网络,不代表爱日记立场,转载请注明出处:https://www.airiji.cn/xiaoxueriji/yinianji/23.html
中国故事库

作者: prolicn

为您推荐

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

在线咨询: QQ交谈

邮箱: 490024274@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部