草庐IT

randomizer

全部标签

javascript - 在使用 `Math.random()` 时,我是否应该考虑 2^62 中有 1 种可能性获得排除的上限?

来自MDN(https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/random):Math.randomReturnsafloating-point,pseudo-randomnumberintherange[0,1)thatis,from0(inclusive)uptobutnotincluding1(exclusive),whichyoucanthenscaletoyourdesiredrange.但是,它说:NotethatasnumbersinJavaScriptare

javascript - Math.random() 什么时候开始重复?

我在nodejs中进行了这个简单的测试,我让它运行了一夜,无法让Math.random()重复。我意识到这些值(甚至整个序列)迟早会重复,但对于何时发生是否有任何合理的预期?letv={};for(leti=0;;i++){letr=Math.random();if(rinv)break;v[r]=r;}console.log(i); 最佳答案 它是特定于浏览器的:https://www.ecma-international.org/ecma-262/6.0/#sec-math.random20.2.2.27Math.random(

random - JavaScript 中的可播种随机数生成器

这个问题在这里已经有了答案:SeedableJavaScriptrandomnumbergenerator(11个答案)关闭6年前。我正在寻找一个JavaScript中的随机数生成器,我可以用某个种子对其进行初始化并给出确定性的结果(根据该种子)。它应该能够提供一定范围内的随机整数,但是我也可以使用随机数生成器来生成double值(就像Math.random()一样)。基本上,我正在寻找Java世界中为JavaScript所熟知的java.util.Random的等价物。JavaScript中是否已经内置了类似的东西?是否有一些(可能是HTML5相关的API)指定了这样的事情?有没有库

javascript - 预测 Javascript 的 Math.random 的种子

好的,我正在研究如何使用Math.random方法生成随机数。到目前为止,我了解到它是从一个“随机”种子开始的,然后将该种子插入到一些复杂的方程式中以创建一个随机数。如果种子总是一样的,结果会不会总是一样?听说Math.random的种子是通过当前时间生成的,对吗?他们必须一直使用当前时间,精确到毫秒或其他时间,因为如果你不这样做,你会得到相同的结果。种子到底是什么?是诸如“10:45”之类的时间还是诸如“2012年11月8日10:45”之类的时间和日期,还是某种组合?如何找到种子,以便预测输出?我希望能够插入这个:alert(Math.floor((Math.random()*10)

random - crypto/rand read() 的两个返回值在什么情况下有用?

crypto/rand的典型用法是这样的:salt:=make([]byte,saltLength)n,err:=rand.Read(salt)它用一系列随机字节填充我在这里标记为“salt”的字节slice。在什么情况下随机数生成器可能会失败?在err不为零的情况下退回到数学/兰德等价物是否不安全?由于字节slice的长度是已知的,n对我来说似乎也没用,我有什么理由不直接使用_,err代替它吗? 最佳答案 为了安全起见,您的代码应该看起来更像这样:packagemainimport("crypto/rand""fmt")funcm

random - Go中如何生成固定长度的随机数?

在Go中生成定长随机数最快最简单的方法是什么?说要生成8位长数字,rand.Intn(100000000)的问题是结果可能远小于8位,用前导零填充它不会看起来对我来说是个不错的答案。也就是说,从长度的意义上讲,我更关心随机性的质量。所以我在想,对于这个特定的问题,以下是最快和最简单的方法吗?99999999-rand.Int63n(90000000)即,我想Int63n可能比Intn更适合我的情况。是真的,还是只是一厢情愿?关于全8位的随机性,两者是一样的,还是真的有优劣之分?最后,还有比上面更好的方法吗?更新:请不要提供low+rand(hi-low)作为答案,因为大家都知道。相当于

go random 生成器在一些调用后停止工作

我想要shuffledbid以便没有id引用它们自己,但是使用这段代码:packagemainimport("log""math/rand""time")funcmain(){seed:=time.Now().UnixNano()&999999999log.Print("seed:",seed)rand.Seed(seed)ordered:=[]int{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}randomized:=shufflePreventCollision(ordered)log.Print("FinalResult")

windows - boost::random_device 的非 Linux 实现

目前,Boost只为Linux(也许是*nix)系统实现了random_device类。有谁知道其他操作系统的现有实现吗?理想情况下,这些实现将是开源的。如果不存在,我应该如何为Windows和MacOSX实现非确定性RNG?提供此功能的任一环境中是否存在API调用?谢谢(很抱歉提出所有问题)! 最佳答案 在MacOSX上,您可以使用/dev/random(因为它是*​​nix)。在Windows上,您可能需要CryptGenRandom函数。我不知道是否有使用它的boost::random_device的实现。

windows - %RANDOM% 每次执行返回相同的输出

以下脚本:@echooffsetlocalEnableDelayedExpansionsetn=0for/R%%fin(./*.avi;./*.mp4)do(set/An+=1set"file[!n!]=%%f")set/A"rand=(n*%random%)/32768+1"ECHO%rand%ECHO"!file[%rand%]!"endlocalPAUSE返回相同的随机数,因此每次执行都会归档。请您提出一个解决方案,并详细说明问题发生的原因。谢谢 最佳答案 cmd使用的PRNG使用当前时间初始化,分辨率为一秒,每个cmd实例一

python - 如何检查 random.choice 的打印值是否与 "guess"变量匹配

基本上,我正在编写一个基本的“helloworld”代码来刷新我的内存,但我被卡住了。我想从列表numbers中打印一个随机选择,并且我想检查我的初始x是否与随机选择的输出匹配。但是,当我运行代码时,即使数字不匹配,我得到的也只是print("nice")。这是代码:importrandomnumbers=[1,2,3,4,5,6]x=int(input("Enteryourguess:"))defrandom_choice(numbers):ifxinnumbers:print(random.choice(numbers))ifnumbers.count(x):print("nice