Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Codigo Del Metodo Congruencial Mixto en Java Mas Completo
Codigo Del Metodo Congruencial Mixto en Java Mas Completo
1 , Der = 0; String Cadena; int Long_Cadena; int Salto; int T_Digit; long R; in
t Cantidad; // constructor .... public Numeros_Aleatorios(int n) { Lado = 1; //
Izq = 1 , Der = 0; Cadena =""; Long_Cadena = 0; Salto = 0; R = 0; T_Digit = 3; C
antidad = n; }// fin del contructor // Metodos..................................
........ public void Cuadrado_Medio (int N ) { System.out.println("\nMetodo del
Cuadrado Medio"); System.out.println(" ------------------"); // Variable para el
ciclo int j = 0; while (j <= Cantidad) { // Obtenemos el cuadrado de N R = (lon
g)Math.pow(N,2); // convertimos el double a cadena Cadena = Long.toString(R); j+
+; // Imprimimos en pantalla System.out.print("R["+j+"] = " + N + "^2 = " + Cade
na); // tomamos el tamao de la cadena Long_Cadena = Cadena.length(); // Dejamos fu
era el ".0" de la cadena if (Long_Cadena> 2) { if ((Long_Cadena - T_Digit) == 1
) { T_Digit = T_Digit - 1; } // Obtenemos el salto de cadena Salto = (Long_Caden
a - T_Digit) / 2; if (((Long_Cadena - T_Digit) % 2) != 0) { Salto = Salto + Lado
;
} // fin del if // Obtenemos los numeros que solo necesitamos Cadena = Cadena.su
bstring(Salto,Salto+T_Digit); // Convertimos la cadena a entero System.out.print
(" == " + Cadena + "\n"); N = Integer.parseInt(Cadena); } else { break; // rompe
r ciclo while } Salto = 0; } // final del while } // fin del metodo public void
Multiplicador_Constante(int K , int X ) { System.out.println("\nMetodo del Multi
plicador Constante"); System.out.println(" ------------------"); // Variable par
a el ciclo int j = 0; while (j <Cantidad) { // Obtenemos el resultado R = (K * X
); // convertimos el double a cadena Cadena = Long.toString(R); j++; // Imprimim
os en pantalla System.out.print("R["+j+"] = " + K + " x " + X + " = " + Cadena);
// tomamos el tamao de la cadena Long_Cadena = Cadena.length(); // Dejamos fuera
el ".0" de la cadena if (Long_Cadena> 2) { if ((Long_Cadena - T_Digit) == 1 ) {
T_Digit = T_Digit - 1; } // Obtenemos el salto de cadena Salto = (Long_Cadena T_Digit) / 2; if (((Long_Cadena - T_Digit) % 2) != 0) { Salto = Salto + Lado; }
// fin del if
n++; System.out.print("M"+n+" = ("+ b +" x "+ m + " + " + c + " ) mod "+ mod); S
ystem.out.println(" = " + m); } // fin del while }// fin del metodo public void
MultiplicativoCongruencia(int k,int x, int m ) { System.out.println("\nMetodo Mu
ltiplicativo de Congruencia"); System.out.println(" ------------------"); int n
= 0; while(n <Cantidad){ x = (k * x) % m; n++; System.out.print("X"+n+" = ("+ k
+" x "+ x + " ) mod " + m); System.out.println(" = " + x); }//fin del while }//
fin del metodo public void Congruencial_Aditivo(int Parametros [] , int m , int
n) { System.out.println("\nMetodo Congruencial Aditivo"); System.out.println(" -----------------"); . ListaDoble ListaD = new ListaDoble(); int j = 0; int i; i
nt x; for (i = 0 ; i <5 ; i++ ) { ListaD.IntroducirDato_Final(Parametros[i]); }
// fin del bucle i++; while (j <= Cantidad) { System.out.print("X"+i+"= (" + Lis
taD.Buscar_Nodo(i-1) + " + " + ListaD .Buscar_Nodo(i-n)); x = (ListaD.Buscar_Nod
o(i-1) + ListaD.Buscar_Nodo(i-n) ) % m; ListaD.IntroducirDato_Final(x); System.o
ut.println(") mod " + m + " = " + x); j++; i++;