Cómo encontrar si un número dado es primo o no

Un número entero positivo p es primo si tiene exactamente dos factores: 1 y p.

Teóricamente, la prueba de primalidad determinista más eficiente se debe a Lenstra y Pomerance, que se ejecuta en [matemáticas] \ tilde {O} (log ^ 6n) [/ matemáticas] [si cree la Hipótesis de Riemann Extendida, entonces el Algoritmo de Miller se ejecuta en [matemáticas] ] \ tilde {O} (log ^ 4n) [/ math]]. El artículo de Miller tiene un algoritmo [matemático] \ tilde {O} (n ^ {1/7} [/ matemático]) y el conocido algoritmo Adleman-Pomerance-Rumley se ejecuta en [matemático] O (log n ^ {O ( log log log n)}) [/ math].

Sin embargo, estos algoritmos son buenos teóricamente . En la práctica, son lentos debido a las grandes constantes ocultas por la notación [math] O [/ math]. Entonces, en la práctica, se utilizan algoritmos probabilísticos como Miller-Rabin (código de GitHub):

def miller_rabin (n, k = 10):
si n == 2:
volver verdadero
si no n & 1:
falso retorno
verificación de def (a, s, d, n):
x = pow (a, d, n)
si x == 1:
volver verdadero
para i en xrange (s – 1):
si x == n – 1:
volver verdadero
x = pow (x, 2, n)
retorno x == n – 1
s = 0
d = n – 1
mientras que d% 2 == 0:
d >> = 1
s + = 1
para i en xrange (k):
a = rango de rand (2, n – 1)
si no, marque (a, s, d, n):
falso retorno
volver verdadero

Por lo general, un número que es divisible por sí mismo o por 1, entonces se conoce como número primo. Es más fácil recordar los números primos dentro de 10 como 2,3,5,7

Pero sería difícil si los valores numéricos aumentaran

Ejemplo:

¿Averigua si 337 es un número primo o no?

Paso 1: 19 ¿raíz cuadrada (337) Los números primos menores que 19 son 2, 3, 5, 7, 11, 13, 17 Paso 2: 337 no es divisible por ninguno de ellos

Por lo tanto 337 es un número primo

para obtener más información, consulte ¿Cómo encontrar si un número dado es primo o no?

Es muy sencillo. La condición básica para que cualquier número se llame primo es que el número debe tener solo dos factores. Los factores deben ser 1 y el número mismo.

Por ejemplo, tome el número 5. Es un número primo porque solo tiene factores 1 y 5.

La verificación simple para saber si es primo o no es para ver si sus factores son 1 y el número en sí.

Ok, entonces sé solo Java, así que estoy haciendo esto en Java.

Primero debemos saber que ¿qué es un número primo?

Un número primo es simplemente un número que solo es divisible por 1 (obviamente) o por sí mismo.

El ejemplo 19 es un número primo ya que solo es divisible por 1 y 19.

Entonces, ¿qué descubrimos?

Sí, descubrimos que los números primos tienen solo dos factores (1 y el número mismo)

Ahora toma un número 16

Tiene 5 factores en total, que son: 1,2,4,8,16

Por lo tanto, no es primo, pero se llama un número compuesto, ya que no solo tiene dos factores, sino que tiene más de dos.

Por lo tanto, la trama de nuestro programa debe ser si el número tiene solo dos factores o no.

Entonces, aquí está el programa.

Estoy usando la clase Scanner para ingresar el número y BlueJ como entorno.

La parte izquierda es

La salida será algo así

¡LO SENTIMOS POR LA PEQUEÑA FUENTE!

ESPERO QUE LO PUEDA ENTENDER AHORA 🙂

el número primo es divisible por 1 o por sí mismo. No puede ser divisible por ningún otro número, por ejemplo, 2, 3, 5, 7, etc.

Verifique que el número dado sea par o impar

Si el número dado es definitivamente, no es primo

Si el número dado es impar, puede o no ser primo

Tome el número impar dado

Divide hasta 1–10

Si es divisible, entonces no es un primo (excluye 1 y a sí mismo) de lo contrario es un primo (solo incluye 1 y a sí mismo)

Para encontrar un número (digamos x) es primo o no …

  1. Saca la raíz cuadrada del número x, es decir, x ^ (1/2)
  2. Ahora comience a verificar la divisibilidad de x desde ( 1, x ^ (1/2))
  3. Si x es divisible por cualquiera de los números entre el conjunto definido en el paso 2, el número no es primo, sino primo …

Un número primo es divisible por 1 y en sí mismo,

Condiciones para un número máximo, no debe terminar con 0,2,5,4,6,8, y su suma no debe ser divisible por 3.

Pero para números de 3 a 4 dígitos, verifíquelo probándolo por 13,17,19 por separado, en estos números aburridos no tienen ese truco para ser usado … Son tales, todavía es doloroso.