数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 6392|回复: 9

C语言如何产生随机数?

[复制链接]
发表于 2004-6-1 01:26:23 | 显示全部楼层 |阅读模式
<>C语言产生随机数的代码是什么啊?</P>
发表于 2004-6-2 05:22:13 | 显示全部楼层
<>#include&lt;stdlib.h&gt;</P><>float tmp=0.0;</P><>tmp=rand()/32767.0;</P>
发表于 2004-6-2 05:22:23 | 显示全部楼层
<>#include&lt;stdlib.h&gt;</P><>float tmp=0.0;</P><>tmp=rand()/32767.0;</P><P>均匀分布的</P>
 楼主| 发表于 2004-6-10 23:35:40 | 显示全部楼层
<>真是谢谢了哈。都不知道以前是怎么学得?</P>
发表于 2004-7-24 00:56:57 | 显示全部楼层
这样产生的随即数不是真正的,你多试几次 就发现了,每次都是一样的,要想产生真正的随即数可以自己编写真正的
发表于 2004-7-28 04:20:11 | 显示全部楼层
也就是srand()即可,里面再些参数
发表于 2004-7-28 23:38:28 | 显示全部楼层
<>numerical recipes in c中给出的产生浮点随机数的算法如下:</P><>#define IA 16807
#define IM 2147483647
#define AM (1.0/IM)
#define IQ 127773
#define IR 2836
#define MASK 123459876
float ran0(long *idum)
/*Minimal" random number generator of Park and Miller. Returns a uniform random deviate
between 0.0 and 1.0. Set or reset idum to any integer value (except the unlikely value MASK)
to initialize the sequence; idum must not be altered between calls for successive deviates in
a sequence.*/
{
long k;
float ans;
*idum ^= MASK;// XORing with MASK allows use of zero and other simple bit patterns for idum. k=(*idum)/IQ;
*idum=IA*(*idum-k*IQ)-IR*k;// Compute idum=(IA*idum) % IM without overflows by Schrage's method. if (*idum &lt; 0) *idum += IM;
ans=AM*(*idum);// Convert idum to a floating result.
*idum ^= MASK; <a>file://Unmask</A> before return.
return ans;
}</P>
发表于 2004-8-12 22:27:54 | 显示全部楼层
<>哈哈</P><>人家要的代码</P><>可是这里哈哈</P>
发表于 2004-8-12 22:46:38 | 显示全部楼层
<>在c下可以的话</P><>在vc++下也可以的啊</P>
发表于 2004-8-10 18:39:30 | 显示全部楼层
<>有可以在visual c++下可以运行的代码吗?</P>
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-27 18:35 , Processed in 0.058332 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表