เกี่ยวกับซีรี่ส์
ก่อนอื่นคุณอาจปฏิบัติเช่นนี้กับการแข่งขันกอล์ฟอื่น ๆ และตอบคำถามโดยไม่ต้องกังวลเกี่ยวกับซีรี่ส์เลย อย่างไรก็ตามมีลีดเดอร์บอร์ดสำหรับทุกความท้าทาย คุณสามารถค้นหาลีดเดอร์พร้อมกับข้อมูลบางอย่างเพิ่มเติมเกี่ยวกับซีรีส์ในโพสต์แรก
แม้ว่าฉันจะมีไอเดียมากมายสำหรับชุด แต่ความท้าทายในอนาคตยังไม่เกิดขึ้น หากคุณมีข้อเสนอแนะใด ๆ โปรดแจ้งให้เราทราบเกี่ยวกับการโพสต์ Sandbox ที่เกี่ยวข้อง
Hole 4: The Bertrand Paradox
เบอร์ทรานด์ขัดแย้งเป็นปัญหาที่น่าสนใจซึ่งแสดงให้เห็นว่าวิธีการที่แตกต่างกันสำหรับการเลือกคอร์ดสุ่มในวงกลมสามารถให้ผลผลิตแตกต่างกันของการกระจายคอร์ดกึ่งกลางและความยาวของพวกเขา
ในความท้าทายนี้คุณควรจะสร้างคอร์ดสุ่มของวงกลมหน่วยโดยใช้วิธี "ขวา" คือหนึ่งที่สร้างการกระจายของคอร์ดที่ไม่เปลี่ยนแปลงภายใต้การปรับและการแปล ในบทความ Wikipedia ที่เชื่อมโยง "วิธีที่ 2" เป็นวิธีการดังกล่าว
นี่คือกฎที่แน่นอน:
- คุณควรใช้จำนวนเต็มบวกหนึ่งตัว
N
ซึ่งระบุจำนวนคอร์ดที่ควรส่งคืน เอาต์พุตควรเป็นรายการของN
คอร์ดแต่ละอันระบุเป็นสองจุดบนวงกลมหน่วยกำหนดโดยมุมขั้วของพวกเขาเป็นเรเดียน - รหัสของคุณควรจะสามารถที่จะกลับมาอย่างน้อย 2 20ค่าที่แตกต่างกันสำหรับแต่ละสองมุม หาก RNG ที่มีของคุณมีช่วงที่มีขนาดเล็กคุณต้องแรกสร้าง RNG มีช่วงขนาดใหญ่พอที่ด้านบนของตัวเครื่องในหนึ่งหรือคุณต้องใช้ของคุณเองRNG เหมาะสม หน้านี้อาจมีประโยชน์สำหรับสิ่งนั้น
- การกระจายคอร์ดจะต้องแยกไม่ออกจากคอร์ดที่ผลิตโดย "วิธีที่ 2" ในบทความ Wikipedia ที่เชื่อมโยง หากคุณใช้อัลกอริทึมที่แตกต่างในการเลือกคอร์ดโปรดระบุหลักฐานความถูกต้อง ไม่ว่าอัลกอริทึมใดที่คุณเลือกที่จะใช้มันจะต้องสามารถสร้างคอร์ดที่ถูกต้องใด ๆ ในวงกลมได้ในทางทฤษฎี (ยกเว้นข้อ จำกัด ของ PRNG หรือประเภทข้อมูลที่มีความแม่นยำ จำกัด )
- การดำเนินงานของคุณควรจะใช้อย่างใดอย่างหนึ่งและกลับจำนวนจุดลอยตัว (อย่างน้อย 32 บิตกว้าง)หรือหมายเลขจุดคงที่ (อย่างน้อย 24 บิตกว้าง)และดำเนินการทางคณิตศาสตร์ทุกคนควรจะมีความถูกต้องภายในที่มากที่สุด 16 ULP
คุณสามารถเขียนโปรแกรมเต็มรูปแบบหรือฟังก์ชั่นและรับอินพุตผ่าน STDIN (หรือทางเลือกที่ใกล้เคียงที่สุด) อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ฟังก์ชันและสร้างเอาต์พุตผ่าน STDOUT (หรือทางเลือกที่ใกล้เคียงที่สุด), ค่าส่งคืนของฟังก์ชันหรือพารามิเตอร์
ผลลัพธ์อาจอยู่ในรูปแบบรายการหรือรูปแบบสตริงใดก็ได้ตราบใดที่ตัวเลขแต่ละตัวมีความแตกต่างอย่างชัดเจน
นี่คือรหัสกอล์ฟดังนั้นการส่งที่สั้นที่สุด (เป็นไบต์) ชนะ และแน่นอนว่าการส่งสั้นที่สุดต่อผู้ใช้จะเข้าสู่กระดานผู้นำโดยรวมของซีรีย์ด้วย
การแสดง
คุณสามารถใช้ตัวอย่างต่อไปนี้เพื่อแสดงบรรทัดที่สร้างขึ้นและตรวจสอบการกระจายของพวกเขา เพียงวางรายการคู่มุมลงในพื้นที่ข้อความ ข้อมูลโค้ดควรสามารถจัดการรูปแบบรายการได้เกือบทุกรูปแบบตราบใดที่ตัวเลขนั้นเป็นเลขฐานสิบแบบง่าย ๆ (ไม่มีสัญลักษณ์ทางวิทยาศาสตร์) ฉันแนะนำให้คุณใช้อย่างน้อย 1,000 บรรทัดเพื่อให้ได้แนวคิดการกระจายที่ดี ฉันได้ให้ข้อมูลตัวอย่างสำหรับวิธีการต่าง ๆ ที่นำเสนอในบทความด้านล่าง
ตัวอย่างข้อมูลที่สร้างด้วยวิธีที่ 1
ตัวอย่างข้อมูลที่สร้างด้วยวิธีที่ 2
ตัวอย่างข้อมูลที่สร้างด้วยวิธีที่ 3
ลีดเดอร์บอร์ด
โพสต์แรกของซีรีส์สร้างกระดานผู้นำ
เพื่อให้แน่ใจว่าคำตอบของคุณปรากฏขึ้นโปรดเริ่มต้นทุกคำตอบด้วยบรรทัดแรกโดยใช้เทมเพลต Markdown ต่อไปนี้:
# Language Name, N bytes
ที่N
มีขนาดของส่งของคุณ หากคุณปรับปรุงคะแนนของคุณคุณสามารถเก็บคะแนนเก่าไว้ในพาดหัว ตัวอย่างเช่น
# Ruby, <s>104</s> <s>101</s> 96 bytes
(ภาษาไม่ปรากฏในปัจจุบัน แต่ตัวอย่างข้อมูลต้องการและแยกวิเคราะห์และฉันอาจเพิ่มกระดานผู้นำแบบแยกภาษาในอนาคต)