def blum_blum_shub(seed, amount, prime0, prime1):
    """Creates pseudo-number generator

    :param seed: seeder
    :param amount: amount of number to generate
    :param prime0: one prime number
    :param prime1: the second prime number
    :return: pseudo-number generator
    """
    if amount == 0:
        return []

    assert (prime0 % 4 == 3 and
            prime1 % 4 == 3)  # primes must be congruent 3 mod 4

    mod = prime0 * prime1
    rand = [seed]

    for _ in range(amount - 1):
        last_num = rand[len(rand) - 1]
        next_num = (last_num * last_num) % mod
        rand.append(next_num)

    return rand
def blum_blum_shub ( seed , amount , prime0 , prime1 ) : if amount == 0 : return [ ] assert ( prime0 % 4 == 3 and prime1 % 4 == 3 ) mod = prime0 * prime1 rand = [ seed ] for _ in range ( amount - 1 ) : last_num = rand [ len ( rand ) - 1 ] next_num = ( last_num * last_num ) % mod rand . append ( next_num ) return rand
Creates pseudo-number generator

    :param seed: seeder
    :param amount: amount of number to generate
    :param prime0: one prime number
    :param prime1: the second prime number
    :return: pseudo-number generator