Bu Fibonacci sayıları ile ilgili bir başka zorluktur.
Amaç 20'000'000 hesaplamak etmektir inci mümkün olduğunca hızlı olarak Fibonacii numarası. Ondalık çıktı yaklaşık 4 MiB büyüklüğündedir; ile başlar:
28543982899108793710435526490684533031144309848579
Çıktının MD5 toplamı
fa831ff5dd57a830792d8ded4c24c2cb
Çalışırken sayıyı hesaplayan ve sonucu veren bir program göndermeniz gerekir stdout
. Kendi makinemde ölçülen en hızlı program kazanıyor.
İşte bazı ek kurallar:
- Kaynak kodu ve x64 Linux'ta çalıştırılabilir bir ikili dosya göndermeniz gerekir
- Kaynak kodun 1 MiB'den kısa olması gerekir, montaj durumunda sadece ikili dosya çok küçükse de kabul edilebilir.
- Gizli olarak bile olsa, hesaplanacak sayıyı ikili dosyaya eklememelisiniz. Sayı çalışma zamanında hesaplanmalıdır.
- Bilgisayarımın iki çekirdeği var; Paralellik kullanma izniniz var
İnternetten yaklaşık 4,5 saniyede çalışan küçük bir uygulama aldım. İyi bir algoritmaya sahip olduğunuzu varsayarak bunu yenmek çok zor olmamalıdır.
phi = (1+sqrt(5))/2