说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

怎样生成随机数

编辑:说三道四文库 发布时间:2018-01-19 02:08
HTML文档下载 WORD文档下载 PDF文档下载
我需要生成一个[0,1]之间的均匀分布的随机数,C++中应该有这样的库函数吧,好像是rand(),但不会用,望指教。
srand(time(0))//初始化随机种子。
int i = rand() % 32768;//获得一个0到32767之间的随机整数。
double d = i / 32767.0;//把它转化成[0,1]之间的浮点数。

我觉得这样就够随机的了。
不好意思,第一句分号掉了:
srand(time(0));
^_^
好,厉害
#include "time.h"

srand(time(0));                //初始化随机种子。
int i = rand() % n + m;        //获得一个m到n-1之间的随机整数。
要不要源代码??给个函数吧

#include <time.h>
// InitializeSeed(): set the random number generator seed
void InitializeSeed() {
srand((unsigned int) time(0));
}

// Uniform(): generate a uniformly distributed random 
// number between Low and High
int Uniform(int Low, int High) {
if (Low > High) {
cerr << "Illegal range passed to Uniform\n";
exit(1);
return 0; // Makes MS C++ shut up

}
else {
int IntervalSize = High - Low + 1;
int RandomOffset = rand() % IntervalSize;
return Low + RandomOffset;
}
}
楼上的朋友,你说的关于用系统时间生成的随机数是和系统时间有关的吧,如果在一个循环中使用,生出的会不会很接近?那生成的是真正的均匀分布么???
如果time()用rdtsc实现应该就不会有随机数接近的可能,..
那样的话,如果你是在Windows操作系统中,就使用API:GetTickCount吧。
srand(GetTickCount());
效率还比time()快10倍。
楼上的朋友,你说的关于用系统时间生成的随机数是和系统时间有关的吧,如果在一个循环中使用,生出的会不会很接近?那生成的是真正的均匀分布么???
->如果在循环中用srand初始化,我感觉有问题.
见例子:
#include <stdlib.h> 
#include <stdio.h> 

int main(void) 

   int i; 
   printf("Ten random numbers from 0 to 99\n\n"); 
   for(i=0; i<10; i++) {
      srand(time(0)); 
      printf("%d\n", rand() % 100); }  
   return 0; 


---------------------------------------------------
#include <stdlib.h> 
#include <stdio.h> 

int main(void) 

   int i; 

   printf("Ten random numbers from 0 to 99\n\n"); 
   srand(time(0)); 
   for(i=0; i<10; i++) {
      printf("%d\n", rand() % 100); }  
   return 0; 
}
up
rand()是不是有可能取不到数啊?
要是有的话什么办?
毕竟随机数的话有取不到某个数的可能啊~
#include <iostream>
#include <ctime>

int main()
{
srand( ( unsigned ) time( NULL ) );
for ( int i = 0; i < 1; ++i )
{
std::cout << rand() % 100 << ' ';
}
return 0;
}
VB如何把批处理文件转换成EXE文件? VB如何调用 Office VB如何将文件删除到回收站 VB如何快速移动文件? VB如何让文本框输入完后,直接跳入下一行? C语言问题 急~~~~~!在服务器上发布的网站,怎么通过客户端访问,察看源代码并修改保存后能使服务器端也修改,是怎么回事? PageControl 如何激活指定的页(程序运行期间) 新手问个问题?关于使用type="file"类型 请问我怎么创建一个表通过sqlplus, javabean要在服务器端配置?那岂不是只有能接触到服务器的用这个才实惠? 各位来给指点一下好吗??? C语言问题 顶,如何从其它网站获取数据。比如说我现在想从某一气像网站获取相应的天气预报,然后显示在我的ASP网站上? 含氰根的化合物有哪些种 硫氰根是否有剧毒?有助于回答者给出准确的答案 含氰化合物有什么共性啊?如题,谢了啊! 含有汞或者铅的化合物,都是有毒性的么? 室内外温度计的差别买了一个电子的温度计,收到一看是 低于耳朵的听觉频率叫?高于耳朵的听觉频率叫? 关于耳朵的听觉如何?理解声音发生的基本机理并能解释 耳和听觉贝多芬在创作音乐时,用牙咬住一根木棒的一端 耳朵是听觉产生的()? 美国主持人就歧视性言论道歉土耳其举行阅兵式庆祝建国90周年国际原子能机构与伊朗发表联合声明称对“今日中国 中国电影周”于曼谷开幕国新办副主任崔玉英谈德国“中国西藏文香港提升泰国外游警示级别至红色西藏自治区书记陈全国看望拉萨各大寺庙福建永定客家文化交流团访台侧记:架两汤姆斯杯:中国队运气佳 3:0横扫泰豪雨袭台中 因灾受损农作物近10公顷天神临尘甲午之华夏新史重生之崩坏的主神系统异世阎王传寻找心的三无机娘与少年郎邹城博物馆旅游安达卢西亚花园旅游凤鸣山旅游汴河旅游嵩山地质博物馆旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘