Cree la función, programa o expresión más corta que calcule A073329 , es decir, a(n)
es el enésimo número que tiene n factores primos distintos. La entrada es el número de elementos en la secuencia a devolver. 0 < n
. No me preocupa la precisión entera. Solo quiero el algoritmo. Para los idiomas que no admiten enteros arbitrariamente grandes, solo pretendemos que lo hacen.
Puede encontrar casos de prueba siguiendo el enlace a OEIS que se encuentra arriba.
ACTUALIZAR:
Permítame dejar en claro que necesita devolver una secuencia entera de su programa, función o expresión. En otras palabras, f(x)
debe calcular a(n)
para todos n
de 1 a x
. Dado x
8, su función debería retornar 2, 10, 60, 420, 4290, 53130, 903210, 17687670
como una matriz o alguna otra estructura de datos apropiada.
output a(1), ... a(n)
lugar de devolver algo, como una serie de ...Respuestas:
Python, 144 caracteres
Se tarda unos 2 minutos en completarse para x = 8.
fuente
Java, 170 caracteres en una línea
Actualización, +77 caracteres IOL
fuente
Java (sin golf)
Utiliza un algoritmo de tamiz. Es muy rapido. (6 segundos) Funcionará con precisión por hasta
8
, probablemente fallará por algo más alto.fuente
JavaScript, 149 caracteres
Siente que no responde n> = 6, así que no he probado cuánto tiempo lleva (mi navegador muestra una notificación de script colgado cada 10 segundos más o menos, por lo tanto, no puedo cronometrarlo con precisión y no quiero colgarlo por completo si marca "no mostrar esto de nuevo" ...)
Editar: para devolver la matriz es de 200 caracteres (+51) :
fuente
J, 32 bytes
Pero como estoy respondiendo mi propia pregunta tan tarde, dejaremos esta respuesta como curiosidad.
fuente