Este é mais um desafio sobre os números de Fibonacci.
O objetivo é calcular o 20'000'000 th número Fibonacii o mais rápido possível. A saída decimal é aproximadamente 4 MiB grande; começa com:
28543982899108793710435526490684533031144309848579
A soma MD5 da saída é
fa831ff5dd57a830792d8ded4c24c2cb
Você deve enviar um programa que calcule o número durante a execução e coloque o resultado em stdout
. O programa mais rápido, medido em minha própria máquina, vence.
Aqui estão algumas regras adicionais:
- Você deve enviar o código-fonte e um executável binário em um Linux x64
- O código fonte deve ser menor que 1 MiB; no caso de montagem, também é aceitável se apenas o binário for pequeno.
- Você não deve incluir o número a ser calculado no seu binário, mesmo de maneira disfarçada. O número deve ser calculado em tempo de execução.
- Meu computador possui dois núcleos; você tem permissão para usar paralelismo
Tirei uma pequena implementação da Internet, que é executada em cerca de 4,5 segundos. Não deve ser muito difícil superar isso, supondo que você tenha um bom algoritmo.
phi = (1+sqrt(5))/2