随机数算法

本文介绍了如何使用线性同余算法生成随机数,并探讨了其在快速计算定积分及圆周率估算中的应用。文中还对比了两种随机算法——LasVegas算法与蒙特卡罗法的特点与适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何获取随机数

采用线性同余算法获取随机数。a(0)=d称为种子,a(n)=(ba(n-1)+c)mod m
b经常取质数,m越大越好。为了避免每次的随机数序列产生的都相同,一般采用当前时间为种子。

随机算法的用途

随机算法主要被用于快速计算定积分中,同样可以用于计算圆周率。

两大赌城算法:

下面这两种算法都不是具体算法,而是指出了一些算法的抽象特征。

LasVegas算法:

不断产生随机数,试图得到正确结果,直到得到正确结果或者达到设定的步数。
适用于迄今没有有效解法的问题,通过不断尝试,试图产生有效解。

蒙特卡罗法

如果说LasVegas法是不一定能给出解,但是给出的解一定正确。则蒙特卡罗法正好相反,一定可以给出解,但是不一定保证正确。比如说篮子里闭眼拿苹果找最大苹果的问题,尝试过的苹果越多,则拿到最大的苹果的概率越大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值