นี่เป็นความท้าทายอีกประการเกี่ยวกับตัวเลขฟีโบนักชี
เป้าหมายคือการคำนวณตัวเลข Fibonacii ที่ 20'000'000 thให้เร็วที่สุด เอาต์พุตทศนิยมมีขนาดใหญ่ประมาณ 4 MiB มันเริ่มต้นด้วย:
28543982899108793710435526490684533031144309848579
ผลรวม MD5 ของเอาต์พุตคือ
fa831ff5dd57a830792d8ded4c24c2cb
stdout
คุณต้องส่งโปรแกรมที่คำนวณจำนวนในขณะที่ทำงานและทำให้ผลไปยัง โปรแกรมที่เร็วที่สุดซึ่งวัดจากเครื่องของฉันเองเป็นผู้ชนะ
นี่คือกฎเพิ่มเติม:
- คุณต้องส่งซอร์สโค้ดและไบนารีที่รันได้บน x64 Linux
- ซอร์สโค้ดจะต้องสั้นกว่า 1 MiB ในกรณีของการประกอบมันยังเป็นที่ยอมรับหากไบนารีนั้นเล็ก
- คุณต้องไม่รวมจำนวนที่จะคำนวณในไบนารีของคุณแม้จะอยู่ในรูปแบบที่ปลอมแปลง ต้องคำนวณจำนวนที่รันไทม์
- คอมพิวเตอร์ของฉันมีสองคอร์ คุณได้รับอนุญาตให้ใช้ขนาน
ฉันใช้งานขนาดเล็กจากอินเทอร์เน็ตซึ่งใช้เวลาประมาณ 4.5 วินาที ไม่ควรยากที่จะเอาชนะสิ่งนี้โดยสมมติว่าคุณมีอัลกอริทึมที่ดี
phi = (1+sqrt(5))/2