Views
5 years ago

Introducción a la teoría de números. Ejemplos y - TEC-Digital

Introducción a la teoría de números. Ejemplos y - TEC-Digital

152 NÚMEROS PRIMOS Y

152 NÚMEROS PRIMOS Y FACTORIZACIÓN. 1 2 3 4 5 6 7 8 9 Los múltiplos de p i que superan m son p i (q + k) con q = quo(m − 1, p). De esta lista solo nos interesan los múltiplos impares. Esto requiere un pequeño análisis aritmético. Como p i es impar, p i (q + k) es impar solo si q + k es impar. Poniendo q2 = rem(q,2) entonces (2k + 1 − q2 + q) es impar si k = q2, q2 + 1,.... En efecto, � 2k + 1 + q si q es par. Aquí k = q2 = 0,1,... 2k + 1 − q2 + q = 2k + q si q es impar. Aquí k = q2 = 1,2,... Luego, los múltiplos impares de p i que superan m son los elementos del conjunto {(2k + 1 − q2 + q) · p i : q2 = rem(q,2) y k = q 2 ,q 2 + 1,...} La manera de tachar los múltiplos impares de p i es if p2 < m then i q = (m − 1)/p; q2 = rem(q,2); k = q2 ; mp = (2k + 1 − q2 + q) · p ; i while mp ≤ n do esPrimo[(mp − 3)/2] =False; k = k + 1; mp = (2k + 1 − q2 + q) · pi Ahora podemos armar el algoritmo completo. Implementación en Java. Vamos a agregar el método Primos(m, n) a nuestra clase “Teoria_Numeros”. El método recibe dos naturales 0 ≤ m < n y devuelve un vector con los números primos entre m y n. Como antes, usamos un arreglo booleano esPrimo(i) con i = 0,...,max − min + 1 donde min = (m + 1 − 3)/2 y max = (n − 3)/2. Si p es primo y p ≤ √ n, entonces si s · p es un múltiplo impar de p entre m y n, debemos poner esPrimo((s*p-3)/2-min)=false Notemos que, esPrimo(i) representa al impar 2 · (i + min) + 3.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Algoritmo 9.2: Colado de primos entre m y n. Datos: n,m ∈ N con m < n. Salida: Primos entre m y n Primo() = una lista de primos ≤ √ n; min = (m + 1 − 3)/2; max = (n − 3)/2; esPrimo[i], i = min,...,max ; for j = min,...,max do esPrimo[j] =True; np = cantidad de primos en la lista Primos; Suponemos Primo(0) = 2; for i = 1,2,...,np do if m ≤ p2 i then k = (p − 1)/2; i while (2k + 1)p ≤ n do i esPrimo[((2k + 1)p − 3)/2] =False; i k = k + 1; if p2 < m then i q = (m − 1)/p; q2 = rem(q,2); k = q2 ; mp = (2k + 1 − q2 + q) · p ; i while mp ≤ n do esPrimo[(mp − 3)/2] =False; k = k + 1; mp = (2k + 1 − q2 + q) · pi Imprimir; for j = min,...,max do if esPrimo[j] =True then Imprima 2 ∗ i + 3 public static Vector Primos(int m, int n) { Vector salida = new Vector(1); int k,mip,p,q,q2; int min = (m+1-3)/2; int max = (n-3)/2; int total = max-min+1; int sqrtn = BIsqrt(new BigInteger(""+n)).intValue(); boolean[] esPrimo = new boolean[max+1]; Vector primos; primos = Primos(sqrtn); if(0

Edición de textos científicos con LaTeX - TEC Digital - Tecnológico ...
El Conjunto de los números Reales - TEC-Digital
1.5 Algoritmo de Euclides con menor resto. - TEC-Digital
Números Enteros - Universidad de Buenos Aires
Números Enteros - Universidad de Buenos Aires
Replanteamiento de la Conjetura de Goldbach - TEC-Digital
Cómo hacer Transparencias con la clase Beamer de - TEC-Digital ...
Cálculo Superior. Vectores, rectas y planos. - TEC Digital ...
La génesis y el desarrollo de un hecho científico - TEC-Digital
Versión PDF - TEC-Digital - Tecnológico de Costa Rica
Teoria Numeros C Ivorra Castillo
Programación Visual Basic (VBA) para Excel y Análisis ... - TEC-Digital
Tema 4. Teoría de los Números - it/aut/UAH
Una Introducción (otra mas) - Departamento de Matemática y ...