Answer
t.me/js_testОтвет:
function* pseudoRandom(seed) {
let value = seed;
while (true) {
value = (value * 16807) % 2147483647;
yield value;
}
}
Объяснение:
При создании генератора в него передаётся seed который мы используем как первое значение для value. Далее в бесконечном цикле while каждый раз когда вызывается новая стадия генератора мы пересчитываем value по формуле value = (value * 16807) % 2147483647 и возвращаем его с помощью yield.
Код для проверки:
function* pseudoRandom(seed) {
let value = seed;
while (true) {
value = (value * 16807) % 2147483647;
yield value;
}
}
const gen = pseudoRandom(1);
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next().value);