Random 非算法生成随机数

Random 非算法生成随机数,random,Random,我正在寻找一个令人满意的解决方案,如何生成一个随机数 我看了看,然后。 但是我在找别的东西 大多数帖子都提到使用R[n+1]=(a*R[n-1+b)%n、这个伪随机函数或其他一些数学函数 但奇怪的是,我并不是在寻找这些答案,我想要的是一些非算法的答案。确切地说,是一次“采访”回答。简单易懂,不要让面试官觉得我抢了一个方法:)。花系统时间,添加一个种子,对上限进行模化。如果上限小于0,则将其乘以-1,然后再将结果减去最大值……不是很强,但符合您的要求 如果您有一个UI,只需要几个随机数,就可以让用

我正在寻找一个令人满意的解决方案,如何生成一个随机数

我看了看,然后。 但是我在找别的东西

大多数帖子都提到使用R[n+1]=(a*R[n-1+b)%n、这个伪随机函数或其他一些数学函数


但奇怪的是,我并不是在寻找这些答案,我想要的是一些非算法的答案。确切地说,是一次“采访”回答。简单易懂,不要让面试官觉得我抢了一个方法:)。

花系统时间,添加一个种子,对上限进行模化。如果上限小于0,则将其乘以-1,然后再将结果减去最大值……不是很强,但符合您的要求


如果您有一个UI,只需要几个随机数,就可以让用户移动鼠标,输入一些种子,输入一些单词,并将它们用作面试问题的种子,一个常见的答案可能是查看击键之间的间隔(请用户键入内容),光盘寻道时间或从断开连接的源输入——这将从麦克风插座或其他任何地方为您提供热电子

使用带镜头盖的数码相机,这是上次的版本

一些操作系统允许间接访问一些随机输入,通常通过安全的随机函数;速度较慢,但比通常的RNG更安全

根据面试的目的,您可以讨论测试原始数据以检查熵,并使用加密哈希函数(如SHA-256)集中熵


还有专门的、昂贵的硬件卡,它们使用各种量子效应来生成真正的随机数。

什么是“非算法答案”?说出你要找的东西比列出你不想找的东西更有帮助。它是语言不可知的吗?非算法的吗?把数字1到N写在纸上,扔到空中,看看哪个离你最远。只有两种选择:某种算法(你指出的那一个只是几百个中最简单的一个)或硬件。硬件包括像专门的TRNG设备这样的东西,也包括像获取鼠标移动时间这样的简单东西。这不正是OP在问题中列出的吗?它的形式相同。
R(n+1)=(a*R(n)+b)%m