เขียนฟังก์ชั่นหรือโปรแกรมที่สมบูรณ์แบบที่จะใช้เวลาเป็นจำนวนบวกn
และดำเนินการn
ตามขั้นตอนของอัลกอริทึมซ้ำสำหรับการคำนวณπที่มีการบรรจบกันเป็นกำลังสอง (คือมันประมาณสองเท่าจำนวนของตัวเลขที่ถูกต้องในทุกซ้ำ) แล้วผลตอบแทนหรือพิมพ์ออก 2 nตัวเลขที่ถูกต้อง (รวมถึง จุดเริ่มต้น 3) อัลกอริธึมแบบหนึ่งคืออัลกอริธึมGauss – Legendreแต่คุณสามารถใช้อัลกอริทึมที่แตกต่างได้ถ้าคุณต้องการ
ตัวอย่าง:
อินพุต1
→ 3.1
อินพุต2
เอาต์พุต→ 3.141
อินพุตอินพุต5
→เอาต์พุต3.1415926535897932384626433832795
ที่ต้องการ:
- การวนซ้ำของอัลกอริทึมจะต้องดำเนินการจำนวนคงที่ของการดำเนินงานขั้นพื้นฐานเช่นการบวกการลบการคูณการหารพลังงานและราก ถ้ามันเกี่ยวข้องกับการวนรอบอย่างน้อยหนึ่งภายใน เพื่อความชัดเจนฟังก์ชั่นตรีโกณมิติและพลังที่เกี่ยวข้องกับจำนวนเชิงซ้อนไม่ใช่การดำเนินการขั้นพื้นฐาน
- อัลกอริทึมที่คาดว่าจะมีขั้นตอนการเริ่มต้นซึ่งจะต้องมีจำนวนคงที่ของการดำเนินงาน
- หากขั้นตอนวิธีการตอบสนองความต้องการ 1 หรือ 2 มากขึ้นซ้ำที่จะได้รับ 2 nตัวเลขที่ถูกต้องคุณสามารถดำเนินการได้ถึงการทำซ้ำแทนเพียง
n+2
n
- หากมันไม่ชัดเจนพอหลังจากตัวเลข2 n ที่ถูกต้องโปรแกรมของคุณจะต้องไม่พิมพ์อะไรอีก (เช่นตัวเลขที่ถูกต้องมากขึ้นตัวเลขที่ไม่ถูกต้องหรือผลงานที่สมบูรณ์ของ Shakespeare)
- โปรแกรมของคุณต้องรองรับค่า
n
ตั้งแต่ 1 ถึงอย่างน้อย 20 - โปรแกรมของคุณไม่ควรใช้เวลาเกินกว่าหนึ่งชั่วโมงสำหรับ
n
= 20 ในคอมพิวเตอร์ทันสมัย (ไม่ใช่กฎที่ยาก แต่พยายามทำให้เหมาะสม) - โปรแกรมต้องไม่ได้รับตัวเลขที่ถูกต้องมากกว่า 20 หลักหลังจากการเริ่มต้นและการวนซ้ำครั้งแรกของอัลกอริทึม
- โปรแกรมต้องสามารถรันได้ใน Linux โดยใช้ซอฟต์แวร์ที่มีให้ฟรี
- ซอร์สโค้ดต้องใช้อักขระ ASCII เท่านั้น
เกณฑ์การให้คะแนน:
รหัสกอล์ฟที่ตรงไปตรงมารหัสที่สั้นที่สุดชนะ
ผู้ชนะ:
ผู้ชนะคือ Digital Trauma ในที่สุดฉันก็จบโค้ดของเขาใน n = 20 (ล้อเล่น) รางวัลพิเศษตกเป็นของพรีโม่สำหรับโซลูชันไพ ธ อนที่รวดเร็วและอัลกอริธึมที่แตกต่าง :)
~q^(n^2)
ไปตามส่วนที่ 1 มีและ~q^2
ตามส่วนที่ 2 มี