यह फिबोनाची संख्या के बारे में एक और चुनौती है।
लक्ष्य के रूप में उपवास के रूप में 20'000'000 वें Fibonacii संख्या की गणना करना है। दशमलव आउटपुट लगभग 4 MiB बड़ा है; इसके साथ शुरू होता है:
28543982899108793710435526490684533031144309848579
आउटपुट का एमडी 5 योग है
fa831ff5dd57a830792d8ded4c24c2cb
आपको एक प्रोग्राम सबमिट करना होगा जो दौड़ते समय संख्या की गणना करता है और परिणाम को डालता है stdout
। सबसे तेज कार्यक्रम, जैसा कि मेरी अपनी मशीन पर मापा जाता है, जीतता है।
यहाँ कुछ अतिरिक्त नियम दिए गए हैं:
- आपको स्रोत कोड और बाइनरी रनवेबल को x64 लिनक्स पर सबमिट करना होगा
- स्रोत कोड 1 MiB से कम होना चाहिए, विधानसभा के मामले में यह भी स्वीकार्य है यदि केवल बाइनरी वह छोटा है।
- आपको अपने बाइनरी में गणना की जाने वाली संख्या को शामिल नहीं करना चाहिए, यहां तक कि प्रच्छन्न शैली में भी। संख्या की गणना रनटाइम पर की जानी है।
- मेरे कंप्यूटर में दो कोर हैं; आपको समानता का उपयोग करने की अनुमति है
मैंने इंटरनेट से एक छोटा कार्यान्वयन लिया जो लगभग 4.5 सेकंड में चलता है। इसे हरा पाना बहुत मुश्किल नहीं होना चाहिए, यह मानते हुए कि आपके पास एक अच्छा एल्गोरिथ्म है।
phi = (1+sqrt(5))/2