Dado un número $N$ me gustaría factor como $N=ab$ donde $a$ $b$ están tan cerca como sea posible; decir al $|b-a|$ es mínima. Por cierto $N$ esto es trivial: cuando $N$ es primo, un producto de dos primos, un cuadrado perfecto, o uno menos que un cuadrado perfecto, por ejemplo.
Pero en general parece complicado. Un montón de evidente primeros pasos no funcionan. Por ejemplo, es tentador suponer que al $N=k^2M$, podemos encontrar $a_M\cdot b_M = M$, y la solución óptima para$N$$ka_M\cdot kb_M$. Pero este es bastante malo; un contraejemplo es $N=20$. Hay divide y vencerás tácticas de este tipo que hacen el trabajo?
Una obvia algoritmo para encontrar el óptimo $a$ $b$ podría empezar por calcular el $s=\left\lfloor\sqrt N\right\rfloor$, lo que se puede hacer de manera eficiente y, a continuación, trabajando su camino hacia abajo de $s$ buscando un factor de $N$ por la prueba de la división, que es lento. Hay un algoritmo más eficiente?
A mí me parece que, incluso si la factorización completa de $N$ es conocido, la partición de los factores en dos conjuntos cuyos productos están tan cerca como sea posible será del tipo NP-completo; es similar a el subconjunto de suma problema, por ejemplo.