Puedes usar las matemáticas védicas …
Dice que si un número n es primo, entonces debe satisfacer esta fórmula.
(2 ^ (n-1)) mod n == 1
- ¿Es posible tener análisis predictivos utilizando motores de recomendación? En caso afirmativo, ¿cuáles son algunos de los algoritmos de análisis predictivo utilizados por los motores de recomendación?
- ¿Cómo escribo el programa C c de la matriz de orden N * N donde el usuario proporciona N sin usar una matriz?
- ¿Por qué una elección de K es mejor que otras en el algoritmo K-means?
- ¿Qué es un algoritmo en términos simples?
- Cómo implementar consultas mínimas de rango bidimensional con una complejidad de O (1) por consulta
También se puede escribir de esta manera.
((2 ^ (n-1)) mod n) – 1 = 0
Prueba de la fórmula
Para n = 5, 2 ^ 4 mod 5 = 16 mod 5 = 1. Satisface la fórmula anterior.
Para n = 13, 2 ^ 12 mod 13 = 4096 mod 13 = 1. También satisface
Del mismo modo, podemos verificar todos los demás números primos.
Tome un ejemplo cuando el número no es primo
Para n = 6, 2 ^ 5 mod 6 = 32 mod 6 = 2 ≠ 1 … por lo tanto, no cumple con la fórmula anterior …
Complejidad del tiempo.
Dado que el operador de potencia y módulo tarda un tiempo constante … Por lo tanto, la fórmula toma tiempo constante para verificar si el número es primo o no.
Complejidad de tiempo = O (1).
Sugerencia: las matemáticas védicas son conocidas por la computación.