Este es otro desafío sobre los números de Fibonacci.
El objetivo es calcular el número 20'000'000 de Fibonacii lo más rápido posible. La salida decimal es aproximadamente 4 MiB grande; Empieza con:
28543982899108793710435526490684533031144309848579
La suma MD5 de la salida es
fa831ff5dd57a830792d8ded4c24c2cb
Tiene que enviar un programa que calcule el número mientras se ejecuta y coloca el resultado stdout
. El programa más rápido, medido en mi propia máquina, gana.
Aquí hay algunas reglas adicionales:
- Debe enviar el código fuente y un binario ejecutable en un Linux x64
- El código fuente debe ser más corto que 1 MiB, en caso de ensamblaje también es aceptable si solo el binario es tan pequeño.
- No debe incluir el número que se calculará en su binario, incluso de forma encubierta. El número debe calcularse en tiempo de ejecución.
- Mi computadora tiene dos núcleos; puedes usar paralelismo
Tomé una pequeña implementación de Internet que se ejecuta en aproximadamente 4.5 segundos. No debería ser muy difícil superar esto, suponiendo que tenga un buen algoritmo.
phi = (1+sqrt(5))/2