import numpy as np #knihovna numpy
import matplotlib.pyplot as plt #knihovna matplot.lib.pyplot
n=10000
seed=48541
a=16807
c=4136
m=2147483647
m=1000000
#m=77777
I=np.empty(n)   #pole hodnot generovanych multiplikativnim generatorem
J=np.empty(n)   #pole hodnot generovanych smisenym generatorem
x1=np.empty(n)  #pole nahodnych hodnot x
x2=np.empty(n)

t=np.linspace(0,n,n)

#generator nahodne promenne x
I[0]=seed
J[0]=seed
for i in range(1,n):
    I[i]=np.mod(a*I[i-1],m)
    J[i]=np.mod(a*J[i-1]+c,m)
    x1[i]=I[i]/m
    x2[i]=J[i]/m
    
seed=I[n-1]   #ulozeni seminka pro pristi simulaci
print('seminko pro pristi simulaci seed = {:.0f}'.format(seed))

fig,ax=plt.subplots()
ax.scatter(t,x1,s=0.5,c='blue')   #multiplikaticvni generator
ax.scatter(t,x2,s=0.5,c='orange')   #smiseny generator
plt.savefig("generator1.png",dpi=300)
plt.show()