APP下载

浅析C++语言中的随机数的应用

2017-06-01孙灵杰赵晓东方欢

电脑知识与技术 2017年8期

孙灵杰 赵晓东 方欢

摘要:该文针对C++语言中的随机数生成以及使用方法进行分析和探讨,主要对各种随机数的生成算法进行设计。在C++中,随机数的生成主要通过函数文件中的ramt()和srand()函数。首先,阐述rarut()和srand()两种函数共同的使用方法和模式,并分析了各自的缺点,然后以现实中的问题和实际的题目为例,通过实际编程来阐释随机数生成函数的使用方法,实现了不同概率的随机数的产生、不连续的随机数的产生等方法。

关键词:随机数;伪随机数;种子;随机数生成器

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)08-0098-03

1概述

经过对C++语言的学习,笔者发现书中对于随机函数的使用只是一概而过,没有进行深入的阐释和联想。文献是到“其实计算机不会产生绝对随机的随机数,只能产生“伪随机数”。其实绝对随机的随机数只是一种理想的随机数,计算机只能生成相对的随机数,即伪随机数。实际上,系统是将0~32767之间的整数“随意”地排成了一个“随机数表”,程序第一次调用rand()函数是取“随机数表”中的第一个,第二次调用rand()函数是取“随机数表”的第二个,由此类推。即使我们运行了多次,但都是在同一个系统上,而同一个系统产生的“随机数表”又始终是相同的,因此每一次运行的结果都是一样的。”现有文献大都集中在介绍随机函数的用法,本文从实际应用出发,分析和研究各种不同类型随机数的生成算法,并进行实验分析。

2随机数的生成的原理(C++框架下)

2.1C++中随机数的定义

登录APP查看全文