default_random_engine对我来说不是随机值

default_random_engine isn't randomizing values for me

本文关键字:随机 对我来说 random engine default      更新时间:2023-10-16

当我运行函数时,每次运行时,我的x值和y值都保持不变。 我不确定我是否正确使用了default_random_engine。 如何使用dist(engine)随机化而不是每次程序执行时都相同的输出来获取xy值?

"种子"是为伪数生成器提供"随机性"的东西。 如果你使用相同的种子初始化它,你将得到相同的"随机"模式。

在这里,您可能一直在传递相同的种子。

也许你应该这样定义你的函数:

long double fn( long reps, default_random_engine & engine )

在运行程序时声明随机数生成器的单个实例,并使用程序启动时始终不同的值(例如系统时间(为其设定种子一次。 然后,将生成器传递到需要生成随机数的任何函数中。