当我运行我的功能时,我的x
和y
值在每次运行时都保持不变。我不确定我是否正确使用default_random_engine。如何使用x
获取y
和dist(engine)
值进行随机化,而不是每次程序执行时输出相同?
答案 0 :(得分:0)
'种子'是为伪子生成器提供“随机性”的东西。如果使用相同的种子初始化它,您将获得相同的“随机”模式。
在这里,你可能一直都在传递相同的种子。
也许你应该这样定义你的功能:
long double fn( long reps, default_random_engine & engine )
在运行程序时声明随机数生成器的单个实例,并将种子播种,其值在程序启动时始终不同(例如系统时间)。然后,将生成器传递给任何需要生成随机数的函数。