Dies ist eine weitere Herausforderung bei den Fibonacci-Zahlen.
Ziel ist es, die 20'000'000- te Fibonacii-Zahl so schnell wie möglich zu berechnen . Die Dezimalausgabe ist ungefähr 4 MiB groß; es beginnt mit:
28543982899108793710435526490684533031144309848579
Die MD5-Summe der Ausgabe ist
fa831ff5dd57a830792d8ded4c24c2cb
Sie müssen ein Programm einreichen, das die Anzahl während der Ausführung berechnet und das Ergebnis an legt stdout. Das schnellste Programm, gemessen auf meiner eigenen Maschine, gewinnt.
Hier sind einige zusätzliche Regeln:
- Sie müssen den Quellcode und eine Binärdatei unter x64 Linux einreichen
- Der Quellcode muss kürzer als 1 MiB sein. Im Falle einer Montage ist es auch akzeptabel, wenn nur die Binärdatei so klein ist.
- Sie dürfen die zu berechnende Zahl nicht in Ihre Binärdatei aufnehmen, auch nicht getarnt. Die Anzahl muss zur Laufzeit berechnet werden.
- Mein Computer hat zwei Kerne; Sie dürfen Parallelität verwenden
Ich habe eine kleine Implementierung aus dem Internet genommen, die in ungefähr 4,5 Sekunden ausgeführt wird. Es sollte nicht sehr schwierig sein, dies zu übertreffen, vorausgesetzt, Sie haben einen guten Algorithmus.
phi = (1+sqrt(5))/2