Codificacion de Python
Codificacion de Python
Codificacion de Python
# Ejemplo de uso
print(cuadrados_medios(8066, 15))
# Ejemplo de uso
x0 = 90855
x1 = 19876
m = 10**5
n = 1000
seq, periodo = producto_medios(x0, x1, m, n)
print("Secuencia generada:", seq)
if periodo:
print("Periodo:", periodo)
2.- a) Mediante el método congruencial algoritmo lineal genere manualmente exactamente 16
números pseudoaleatorios, posteriormente manteniendo los mismos parámetros excepto g, genere
en un lenguaje de programación 256 números pseudoaleatorios (25 pto)
import random
Parametros:
- m: el modulo ( un entero positivo).
- a: el multiplicador ( un entero positivo menor que m).
- c: la constante aditiva( un entero no negativo menor que m).
- x0: la semilla ( un entero no negativo menor que m).
- n: el numero de numeros pseudolaeatorios a generar.
Devoluciones:
- Una lista de n numeros pseudoaleatorios.
"""
results = []
x = x0
for i in range(n):
x = (a * x + c) % m
results.append(x)
return results
def main():
# Generate 16 numero psuedoaleatorios con los parametros dados.
m = 17
a=5
c=0
x0 = 3
n = 16
g = random.randint(1, m-1)
# impresion de resultados.
print("16 pseudo-random numbers:")
print(results1)
print("256 pseudo-random numbers:")
print(results2)
if __name__ == "__main__":
main()
b) Mediante el método congruencial algoritmo multiplicativo genere manualmente exactamente 16
números pseudoaleatorios, posteriormente manteniendo los mismos parámetros excepto g, genere
en un lenguaje de programación 256 números pseudoaleatorios (25 pto)
# Generar 16 números pseudoaleatorios
def generar_16_numeros_pseudoaleatorios():
m = 16
a=5
x0 = 3
numeros = []
x = x0
for i in range(16):
x = (a * x) % m
numeros.append(x)
return numeros
print("Generamos los 16 numeros pseudoaleatorios")
print(generar_16_numeros_pseudoaleatorios())