15 lines
443 B
Python
Executable File
15 lines
443 B
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
def gen(value, factor, modulo=1):
|
|
while True:
|
|
value = (value * factor) % 2147483647
|
|
if value % modulo == 0:
|
|
yield value & 0xffff
|
|
|
|
# Generator starting values
|
|
A, B = 65, 8921
|
|
genA, genB = gen(A, 16807), gen(B, 48271)
|
|
print(sum(next(genA) == next(genB) for _ in range(40000000)))
|
|
genA, genB = gen(A, 16807, 4), gen(B, 48271, 8)
|
|
print(sum(next(genA) == next(genB) for _ in range(5000000)))
|