0和1随机序列

shingyuan 2010-03-08 11:07:59
概率论里面有所谓的Bernoulli试验,讲的是重复独立试验,比如扔硬币试验。在现实世界中,扔硬币可以做到绝对的随机性。但如果我要用计算机来模拟这个试验,应该如何得到随机序列呢?换句话说,就是0和1组成的随机序列。
...全文
280 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
liu_hz 2010-04-03
  • 打赏
  • 举报
回复
原来 rand() 不是真正的随机数啊~~~
PapaDog_ 2010-04-02
  • 打赏
  • 举报
回复
好像在SQL中有一个Rand()函数。。
zj821184518 2010-04-02
  • 打赏
  • 举报
回复
建议请先给出 "随机" 的严格数学定义
fenix124 2010-04-01
  • 打赏
  • 举报
回复
Matlab产生真正的随机数?
  • 打赏
  • 举报
回复
打开麦克风,录一段音,取每采样值的最低位,结果就是0、1随机序列。
在目前的PC中,估计这是取得最接近“真随机数”的最简单的方法了。
michael122 2010-04-01
  • 打赏
  • 举报
回复
现实生活中也没有绝对的随机
就算不考虑空气阻力,硬币均匀度等客观因素
扔硬币的人能保证每次出手力度和角度等都随机?
绝对随机只是理论上的,现实中不存在,只能是用统计量去模拟随机量
keeya0416 2010-04-01
  • 打赏
  • 举报
回复
严格算来其实扔硬币也不会是随机的吧
与 空气湿度、密度,扔的力度,方向,(太阳风?)......很多因素有关
呵呵 开玩笑
这个在物理上好像是叫 混沌算法 吧
就是目前科技没法计算的 只能说是随机了
qiuyatao 2010-04-01
  • 打赏
  • 举报
回复
扔硬币的随机操作 可以想象成向伪随机发生器中传递参数的过程 每次传递上次产生的随机数作为种子 可能稍微好点 然后2#说的方法
keeya0416 2010-04-01
  • 打赏
  • 举报
回复
机器不像人 可以凭感觉说个随机数
机器得到的所谓随机数也必然是某个算法的结果
貌似大多少是一系统时间做种子算出来的吧

真正随机估计要等到人类把模糊算法攻克了才能有吧
showjim 2010-04-01
  • 打赏
  • 举报
回复
什么叫真正的随机数?
如果只有扔硬币算的话,那么就让计算机也扔硬币吧!呵呵...
space_time 2010-04-01
  • 打赏
  • 举报
回复
真随机还真是个奢望,随机序列生成算法都是伪随机的,可见The Art of Computer Programming 第二卷半数值算法
liuxiaobing2008 2010-03-08
  • 打赏
  • 举报
回复
C语言和C++里面的随机数函数(Rand)不是真正的随机数,而是一个伪随机数,所以楼上两位说的可能有点问题,如果能保证产生真正的随机数,那两位的都可以

建议楼主用MATLAB进行模拟,因为MATLAB产生的随机数是真正的随机数(MATLAB本来最初就是一群数学家开发出来的)~~~~
LeonTown 2010-03-08
  • 打赏
  • 举报
回复
(rand()%2==0) ? : ;
greentea1015 2010-03-08
  • 打赏
  • 举报
回复
rand()&1就好了
honghu069 2010-03-08
  • 打赏
  • 举报
回复
取随机数,模2取余就可以了
acdbxzyw 2010-03-08
  • 打赏
  • 举报
回复
#include <iostream>
#include <windows.h>
#include <ctime>
using namespace std;

int main()
{
srand((unsigned)time(NULL));
while(1)
{
cout<<rand()%2;
Sleep(100);
}
}
super_chris 2010-03-08
  • 打赏
  • 举报
回复
不是还可以用timer吗?
随机性比较好吧

33,007

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧