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