当前位置:首页 » 编程语言 » c语言0到1随机数

c语言0到1随机数

发布时间: 2023-03-10 10:46:13

1. 如何用C语言产生0到1之间的随机数

方法一:

1、功能:

产生0到1之间均匀分布的一个随机数

2、方法说明:

设m=216,产生产生0到1之间均匀分布的一个随机数的计算公式如下:

ri=mod(2053ri-1 +13849,m),i=1,2,3……

pi =ri/m

例:连续产生10个0到1之间均匀分布的一个随机数。r的初值取5.0

#include"stdio.h"
doublernd1(double*r)
{intm;
doubles,u,v,p;
s=65536.0;u=2053.0;v=13849.0;
m=(int)(*r/s);*r=*r-m*s;
*r=u*(*r)+v;m=(int)(*r/s);
*r=*r-m*s;p=*r/s;
return(p);
}
main()
{inti;
doubler;
r=5.0;
printf(" ");
for(i=0;i<=9;i++)
printf("%10.7lf ",rnd1(&r));
printf(" ");
getch();
}

方法二:

float b=rand()/(RAND_MAX+1.0);

printf("%f ",b);
注释:
stdlib.h头文件中有宏#define RAND_MAX 0x7fff
rand()产生一个0到0x7ffff即0到32767之间的随机数
rand()/(RAND_MAX+1.0)就等于一个0到1之间的小数了,因为rand()最大是32767最小是0,再除以32768就是一个0到1之间的小数(不能等于1),再乘以10就是一个0到10之间的数了(不等于10).最后再加1,就成了一个求1到10之间随机数的式子了.

热点内容
动态规划01背包算法 发布:2024-11-05 22:17:40 浏览:849
nasm编译器如何安装 发布:2024-11-05 22:01:13 浏览:181
登录密码在微信的哪里 发布:2024-11-05 22:00:29 浏览:739
c防止反编译工具 发布:2024-11-05 21:56:14 浏览:248
安卓虚拟机怎么用 发布:2024-11-05 21:52:48 浏览:344
php时间搜索 发布:2024-11-05 20:58:36 浏览:479
燕山大学编译原理期末考试题 发布:2024-11-05 20:13:54 浏览:528
华为电脑出现临时服务器 发布:2024-11-05 20:05:08 浏览:408
斗战神免费挖矿脚本 发布:2024-11-05 19:53:25 浏览:665
网吧服务器分别是什么 发布:2024-11-05 19:45:32 浏览:392