Pseudo Aleatorio - Arimética Modular
Publicado por Andrés (2 intervenciones) el 10/08/2018 18:19:14
Buenos días amigos...
Me encuentro cursando la materia de Métodos Numéricos en la U, y nos han puesto el siguiente ejercicio de Aritmética Modular el cual no tengo ni idea de plantearlo, se trata de lo siguiente:
Se tiene la fórmula x= (a*Xo+b)%m en la cual se evidencian 4 variables a, b, Xo, m
Xo: Semilla
m= longitud de cadena
Este algoritmo se trata que partir de unos valores de entrada que se le de a las 4 variables genere números aleatorios aplicados a esa formula y este finalice cuando uno de los numero se repita, aquí un ejemplo:
x= (a*Xo+b)%m
a = 11
b = 9
Xo = 3 (El valor de Xo varia dependiendo del resultado anterior) (Este valor es el modulo o residuo de la division)
m = 15
Xo = 3
X1 = 12 -------------->X1= (11*3+9)%15 = 42%15 = 12
X2 = 6 ---------------> X2= (11*12+9)%15 = 141%15 = 6
X3 = 0 ---------------> X3= (11*6+9)%15 = 75%15 = 0
X4 = 9 ---------------> X4= (11*0+9)%15 = 9%15 = 15
X5 = 3 ---------------> X5= (11*9+9)%15 = 108%15 = 3
Xo= & X5= 3 "Fin del ciclo"
De esto se trata amigos, quisiera que me pudieran ayudar con eso tengo que entregarlo en .Net o C#, que son los lenguajes en los que estoy empezando.
Inicialmente estaba pensando utilizar un For y poder cargar los valores en un Label o un Datagridview.
Agradezco siempre su colaboración, son de mucha ayuda!
Me encuentro cursando la materia de Métodos Numéricos en la U, y nos han puesto el siguiente ejercicio de Aritmética Modular el cual no tengo ni idea de plantearlo, se trata de lo siguiente:
Se tiene la fórmula x= (a*Xo+b)%m en la cual se evidencian 4 variables a, b, Xo, m
Xo: Semilla
m= longitud de cadena
Este algoritmo se trata que partir de unos valores de entrada que se le de a las 4 variables genere números aleatorios aplicados a esa formula y este finalice cuando uno de los numero se repita, aquí un ejemplo:
x= (a*Xo+b)%m
a = 11
b = 9
Xo = 3 (El valor de Xo varia dependiendo del resultado anterior) (Este valor es el modulo o residuo de la division)
m = 15
Xo = 3
X1 = 12 -------------->X1= (11*3+9)%15 = 42%15 = 12
X2 = 6 ---------------> X2= (11*12+9)%15 = 141%15 = 6
X3 = 0 ---------------> X3= (11*6+9)%15 = 75%15 = 0
X4 = 9 ---------------> X4= (11*0+9)%15 = 9%15 = 15
X5 = 3 ---------------> X5= (11*9+9)%15 = 108%15 = 3
Xo= & X5= 3 "Fin del ciclo"
De esto se trata amigos, quisiera que me pudieran ayudar con eso tengo que entregarlo en .Net o C#, que son los lenguajes en los que estoy empezando.
Inicialmente estaba pensando utilizar un For y poder cargar los valores en un Label o un Datagridview.
Agradezco siempre su colaboración, son de mucha ayuda!
Valora esta pregunta
0