gpt4 book ai didi

javascript - alf.nu 随机4题,答案是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 04:45:25 24 4
gpt4 key购买 nike

我在玩这个site ,我陷入了 random4 问题。

所以,基本上,问题如下。

var random4 = new function() {
var rand = Math.random();

this.test = function(x) {
return rand === x;
}
};

x 的什么值应该传递给 random4.test 才能让它返回 true

请注意,此处的代码与链接页面略有不同。这是因为我们没有可以访问 rand 变量,我想明确说明这一点。

最佳答案

Math.random() 可以是可预测的,可以被利用。理论上。 ES6 spec

Returns a Number value with positive sign, greater than or equal to 0 but less than 1, chosen randomly or pseudo randomly with approximately uniform distribution over that range, using an implementation-dependent algorithm or strategy. This function takes no arguments.

(强调我的。)

在实践中,大多数现代浏览器使用 xorshift128+ (ChromeFirefoxSafari)。它的实现相当简短,并且可以相对容易地理解。看这个related question .

我们能否攻击此实现并预测序列中的值,或尝试找出先前的值?根据Security.SX , 我们 can .我们really能够。这绝对不容易,但有可能。

我不知道这是否真的可以用来解决链接练习。理论上是可以的。


另一种方法是传入与它相比始终等于任何数字的值。也就是说,重载严格相等 ===运算符(operator)。不幸的是,据我所知,JavaScript 不支持运算符重载。你可以cheat并使用后处理(不能在链接页面上使用),或 fake it在某些情况下,但这个挑战不是其中之一,因为我们有使用严格相等运算符进行比较的原语 - 不进行强制转换或 valueOf

关于javascript - alf.nu 随机4题,答案是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42767005/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com