Clase # 2 Detección de números primos

12
DETECCION DE NUMEROS PRIMOS Obed David Guevara José Guadalupe Gonzales Ángel Javier Esquivel Acevedo Jesús Alejandro Beltrán

description

Clase

Transcript of Clase # 2 Detección de números primos

Page 1: Clase # 2 Detección de números primos

DETECCION DE NUMEROS PRIMOS

Obed David GuevaraJosé Guadalupe GonzalesÁngel Javier Esquivel AcevedoJesús Alejandro Beltrán

Page 2: Clase # 2 Detección de números primos

NUMERO PRIMO• Un número primo es un número natural que

tiene exactamente dos divisores naturales distintos: él mismo y el 1.

• Los números primos del conjunto de los naturales menores que cien son los siguientes: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89 y 97.

Page 3: Clase # 2 Detección de números primos

NUMEROS PRIMOSEuclides demostró alrededor

del año 300 a. C. que existen infinitos números primos. Se contraponen así a los números compuestos, que son aquellos que tienen algún divisor natural aparte de él mismo y del 1. El número 1, por convenio, no se considera ni primo ni compuesto.

Page 4: Clase # 2 Detección de números primos

La propiedad de ser primo se denomina primalidad, y el término primo se puede emplear como adjetivo. A veces se habla de número primo impar para referirse a cualquier número primo mayor que 2, ya que éste es el único número primo par.

Page 5: Clase # 2 Detección de números primos

El teorema fundamental de la aritmética establece que todo número natural tiene una representación única como producto de factores primos, salvo el orden. Un mismo factor primo puede aparecer varias veces. El 1 se representa entonces como un producto vacío.

Page 6: Clase # 2 Detección de números primos

Criba de EratostenesLa manera más eficiente de encontrar todos los

números primos pequeños (menores a 10,000,000) es usando la Criba de Eratóstenes:

Hacer una lista de todos los

números enteros menores o iguales a n (y mayores que uno). Tachar los múltiplos de todos los números primos menores o iguales a la raíz de n, los número que queden sin tachar son los primos.

Page 7: Clase # 2 Detección de números primos

Por ejemplo, para encontrar todos los primos menores que o iguales a 30, primero hacemos una lista con los números desde 2 hasta 30.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 27 28 29 30

Page 8: Clase # 2 Detección de números primos

El primer número no tachado es primo, en este caso 2, lo mantenemos (indicaremos que es primo) y tachamos a sus múltiplos (indicaremos que fueron tachados mostrándolos subrayados), así que todos los número en negritas y subrayados no son primos.

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 27 28 29 30

Page 9: Clase # 2 Detección de números primos

inicio

Num, fac, i

Fac =0

Num

Num!=2 &&Num%2==0

No es primo

i<=sqrt(Num)

i<=sqrt(Num)

i= i+1

Num%i==0

Fac

Fac==0

No es primo

Si es primo

fin

Page 10: Clase # 2 Detección de números primos

PROGRAMA EN C. #include <stdio.h>

int main(void) { int num, i, fac = 0, r; do { printf("Dame el numero: "); scanf("%d", &num); if ((num % 2 == 0) && (num != 2)) { printf("\nEl numero %d NO es primo", num); } else { for (i = 3; i <= (sqrt(num)); i+= 2) { if (num % i == 0) { printf("\nEl numero %d NO es primo", num); fac = 1; break; } } if (fac == 0) { printf("\nEl numero %d SI es primo", num); } } printf("\n\nDesea consultar otro numero? SI (1) NO (0):\n"); scanf("%d", &r); }while(r == 1); return 0;}

Page 11: Clase # 2 Detección de números primos

Ejemplo #!/usr/bin/pythondef primos (n): print "Numeros primos" for i in range(2,n): for x in range(2,i): if i % x == 0: break else : print i,print "entre uno y que numeros quieres encontrar primos?«n = input("")primos(n)

Page 12: Clase # 2 Detección de números primos