Answer

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);

Report Page