Pozzo: un verificador ultrarrápido de números de la suerte

Fuentes: Pozzo: A (very) fast lucky number checker

Pozzo es una herramienta de código abierto para comprobar si números enteros grandes son números de la suerte (lucky numbers), una secuencia similar a los números primos pero generada mediante un proceso de cribado. Su eficiencia supera en varios órdenes de magnitud a las implementaciones previas, logrando expandir el espacio de búsqueda de múltiples secuencias de la OEIS (Enciclopedia On-line de Secuencias de Enteros) por factores de entre 1.000 y 100.000.000.

El algoritmo se basa en un árbol de Fenwick (Fenwick tree) que mantiene un bitset donde cada nodo cuenta los bits activos en su rango. Esto permite localizar y desactivar el i-ésimo bit activo de forma muy rápida, cribando hasta el límite que permite la memoria RAM. Para números más grandes que la criba, Pozzo aplica un método iterativo: para cada candidato, calcula su rango inicial entre los impares y lo va reduciendo con cada factor de eliminación de la criba. Si el rango nunca es divisible por el factor de eliminación, el número es afortunado.

El proyecto nació como una ocurrencia de hackathon: el autor, Robert Cunningham, decidió presentar un entero concreto (4.398.046.511.103) como obra conceptual, inspirado por el urinario de Duchamp. Sin embargo, el desarrollo se extendió durante varios años y requirió agentes de codificación avanzados de 2026 para completarse. En una ejecución de 12 horas con 128 GB de RAM, Pozzo extendió los límites conocidos de varias secuencias: por ejemplo, halló el 23.er término de los números de la suerte de la forma 2^k - 1 (2^49 - 1), cuando el límite anterior era 2^34 - 1; también encontró nuevos términos para repdigits, números de Fibonacci afortunados, números de Lucas, tetranacci y números con dígitos consecutivos cíclicos.

Pozzo está escrito en Rust y su código está disponible en GitHub. Demuestra cómo un algoritmo eficiente y una implementación cuidada pueden abordar problemas clásicos de teoría de números con un impacto directo en secuencias abiertas de la OEIS.