C++产生随机数
来源:互联网 发布:听乎无声 编辑:程序博客网 时间:2024/06/07 14:10
说明
//在这里srand的作用很重要,srand()的作用是初始化随机数种子,种子的伪随机数计算的依据,
//种子相同,计算得到的随机数也是相同的,通常函数没有用到srand()而是用rand(),则是相当于调用了srand(1),
//这也解决了我上学期做最后那个记忆游戏时,每次重新运行程序时,产生的随机数都是相同的问题
//time(NULL)返回的值是自1970.1.1零点以来经过的秒数,所以每时每刻都是不同的
代码
#include<stdio.h>#include<time.h> //time()#include<stdlib.h> //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<stdio.h>#include<time.h> //time()#include<stdlib.h> //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;}
1 0
- c++/c 产生随机数
- [C]如何产生随机数~
- C语言产生随机数
- C/C++产生随机数
- C语言产生随机数
- objective-c产生随机数
- C语言产生随机数
- C语言产生随机数
- c/c++产生随机数
- C/C++产生随机数
- C/C++产生随机数
- C语言产生随机数
- C/C++产生随机数
- C/C++ 产生随机数
- C/C++产生随机数
- C/C++产生随机数 .
- C/C++产生随机数
- C/C++ 产生随机数
- 【排序算法】归并排序
- MongoDB Master-Slaver集群部署
- 3.3 投影变换
- 华为 1991 201301 JAVA 题目2-3级
- OpenCV3.0下 cvCvtColor函数灰度化图像遇到问题及解决办法
- C++产生随机数
- hdu5188 加限制的01背包问题
- poj_2251
- ios-day13-01(私人通讯录。控制器之间的数据传递、保存密码和自动登录的实现、普通对象的归档、UITableView的局部刷新和向左滑动删除功能等等)
- 安装mysql 报错 Error Nr. 1045 解决方法
- spark中updateStateByKey引发StackOverflowError的解决
- STL 适配器
- KMP字符串模式匹配详解
- JUnit 运行参数化测试简单入门