La mayoría de los algoritmos giran en torno a la memorización de los resultados de intentos anteriores, como precomputar todos los números primos hasta [math] \ sqrt {n}. [/ Math]
Se limita a [math] \ sqrt {n} [/ math] debido a la trivialidad de demostrar que nunca tendrá un factor primo mayor.
Existen métodos bien conocidos para eliminar rápidamente cosas que se sabe que no son excelentes, como el Tamiz de Eratóstenes, y hoy en día, hay métodos más avanzados.
- Como estudiante graduado de física teórica, ¿cómo puedo pasar a la investigación teórica en informática?
- Cómo resolver torres de Hanoi con restricciones adicionales
- ¿Cuáles son los algoritmos que debo aprender para comenzar a estudiar la inteligencia artificial?
- ¿Por qué el hardware de gráficos solo representa triángulos?
- ¿Se pueden programar las computadoras con 0,1 y 2? ¿Qué tal 0,1,2 y 3? ¿O son todos los programas manipulaciones de 0 y 1? Nuevos detalles añadidos para explicar.
Una vez que tenga un conjunto de factores candidatos, puede descartar inmediatamente cualquier cosa en esa lista.
Por lo demás, existen diferentes métodos, incluida la fuerza bruta, que se pueden usar para calcular el producto de cada número de la lista a través de [math] \ sqrt {n} [/ math].
Puede encontrar rápidamente que 81 es el producto de 9 * 9 y así sucesivamente. Para obtener una versión sin depurar de dicho algoritmo, mire la clase de primos en el código fuente aquí: http://agilejavatools.com/downlo…
Sin embargo, tendría cuidado con las heurísticas, ya que aún deben verificarse y, a menudo, tienen falsos negativos.