博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++产生随机数
阅读量:5973 次
发布时间:2019-06-19

本文共 1070 字,大约阅读时间需要 3 分钟。

说明

//在这里srand的作用非常重要,srand()的作用是初始化随机数种子,种子的伪随机数计算的根据,

//种子同样,计算得到的随机数也是同样的,通常函数没实用到srand()而是用rand(),则是相当于调用了srand(1),
//这也攻克了我上学期做最后那个记忆游戏时。每次又一次执行程序时,产生的随机数都是同样的问题
//time(NULL)返回的值是自1970.1.1零点以来经过的秒数,所以每时每刻都是不同的

代码

#include
#include
//time()#include
//srand()+rand()int main(){ srand(time(NULL)); //产生[a,b] int m = rand() % a + b; printf("%d\n", m);}//主要是生成随机数。可是rand()函数生成随机数区间为[0,RAND_MAX]//RAND_MAX至少为32767(2e15-1),而且在不同条件下数值可能不同//这里作者用了放大的方式将区间放大(代码来自刘汝佳)#include
#include
//time()#include
//srand()+rand()int n = 100, m = 100000;//这个函数是取得[0,1]区间内的实数,之后在下一个函数中扩大(n-1)倍在取整double random(){ return (double)rand() / RAND_MAX;}int random(int m){ return (int)(random()*(m - 1) + 0.5);}int main(){ srand(time(NULL)); printf("%d %d\n", n, m); for (int i = 0; i < m; i++) { if (rand() % 2 == 0) { printf("A"); } else { printf("B"); } int X, Y; for (;;) { X = random(n) + 1; Y = random(n) + 1; if (X != Y) { break; } } printf("%d %d\n", X, Y); } return 0;}

转载地址:http://cfbox.baihongyu.com/

你可能感兴趣的文章
关于Simple_html_dom的小应用
查看>>
鲁肃:蚂蚁金服的三个梦想
查看>>
【springmvc+mybatis项目实战】杰信商贸-27.POI由HSSF升级为XSSF
查看>>
数学常数e的含义
查看>>
Spring Boot MyBatis 通用Mapper插件集成
查看>>
Django跟Bootstrap3体验以及相比框架提问
查看>>
APM基础小记
查看>>
Omi 6.0 - Store 的设计哲学
查看>>
福利 | 20张2019年蓝牙大会通票免费领
查看>>
XSwitch - 一个解决本地开发请求转发的浏览器插件
查看>>
无限循环RecyclerView的完美实现方案
查看>>
Android中的消息机制
查看>>
TCP - 基础
查看>>
前端常用代码示例-1
查看>>
多线程安全-sychronized
查看>>
Amazing tree —— 二叉查找树
查看>>
2048块GPU再次加速SGD:富士通74.7秒完成ResNet-50 训练
查看>>
git flow 实操记录
查看>>
UITextView 设置 PlaceHolder
查看>>
程序猿生存指南-49 何为渣男
查看>>