เป้าหมายของการท้าทาย Rosetta Stone คือการเขียนวิธีแก้ปัญหาในภาษาต่างๆให้ได้มากที่สุด แสดงการเขียนโปรแกรมได้หลายภาษาของคุณ!
ความท้าทาย
ความท้าทายของคุณคือการใช้โปรแกรมที่จะป้อนข้อมูลรายการของตัวเลขการส่งออกและพล็อตกล่องของข้อมูลที่เป็นหลายภาษาการเขียนโปรแกรมที่เป็นไปได้ พล็อตกล่องจะแสดงควอไทล์และค่าผิดปกติในข้อมูลและจะมีสเกล คุณได้รับอนุญาตให้ใช้ฟังก์ชั่นไลบรารีมาตรฐานทุกประเภทที่ภาษาของคุณมีเนื่องจากนี่เป็นการนำเสนอภาษาเป็นส่วนใหญ่
พล็อตบ็อกซ์คืออะไร
พล็อตกล่องเป็นวิธีการของกราฟข้อมูล พล็อตกล่องมีคุณสมบัติที่สำคัญสองสามอย่าง คุณลักษณะแรกคือกล่องโดยมีทั้งสองด้านอยู่ที่ควอไทล์อันดับหนึ่งและสามของข้อมูล มีเส้นตรงกลางของพล็อตกล่องที่ให้ค่ามัธยฐาน ที่ปลายทั้งสองด้านของพล็อตกล่องมี "หนวด" ที่ช่วยแสดงความแปรปรวนของข้อมูล มัสสุขยายจากกล่องไปยังจุดที่น้อยที่สุดและยิ่งใหญ่ที่สุดในชุดข้อมูลโดยไม่รวมค่าผิดปกติ ค่าผิดปกติจะถูกพล็อตเป็นคะแนนบุคคล
ก่อนอื่นใช้ค่ามัธยฐานของข้อมูล จากนั้นใช้จุดข้อมูลทั้งหมดที่น้อยกว่าค่ามัธยฐานโดยเคร่งครัดและคำนวณค่ามัธยฐานของชุดนี้ให้เป็นควอไทล์แรก (Q1) ใช้จุดข้อมูลทั้งหมดที่มากกว่าค่ามัธยฐานและคำนวณค่ามัธยฐานของชุดนี้ให้เป็นควอไทล์ที่สาม (Q3) R = 1.5*(Q3 - Q1)
หาค่าของ ตัวเลขที่น้อยกว่าQ1 - R
นี้เป็นค่าผิดปกติ ตัวเลขใด ๆ ที่มากกว่าQ3 + R
ค่าผิดปกติ ใช้ชุดของจุดข้อมูลทั้งหมดที่ไม่ใช่ค่าผิดปกติและค่าต่ำสุดและสูงสุดของชุดนี้จะกำหนดจุดสิ้นสุดของเคราทั้งสอง
อินพุต
อินพุตจะเริ่มต้นด้วยn=
หมายเลข จากนั้นจะมีn
ตัวเลขหนึ่งรายการต่อบรรทัด ตัวเลขทั้งหมดจะเป็นจำนวนเต็มตั้งแต่ 0 ถึง 63 โดยรวม
n=8
29
1
22
18
12
16
16
22
เอาท์พุต
เอาท์พุทจะเป็นการกระทำของพล็อตกล่อง วิธีหนึ่งที่เป็นไปได้ในการวาดพล็อตคือการแสดงผลใน ASCII คุณสามารถแสดงผลพล็อตของกล่องได้หลายวิธีนอกเหนือจาก ASCII แต่ข้อกำหนดหลักคือมีขนาดใหญ่พอที่จะบอกตำแหน่งที่แน่นอนของคุณสมบัติที่สำคัญได้ พล็อตกล่องควรมีสเกลประกอบด้วยประมาณ 5-10 หมายเลขเว้นระยะเท่ากัน นี่คือตัวอย่างหนึ่งพล็อตของข้อมูลข้างต้น:
+--+----+
| | |
X +-+ | +------+
| | |
+--+----+
0 0 1 1 2 2 3
0 5 0 5 0 5 0
เกณฑ์การชนะอย่างมีวัตถุประสงค์
สำหรับเกณฑ์การชนะอย่างมีวัตถุประสงค์นี่คือ: แต่ละภาษาเป็นการแข่งขันแยกกันว่าใครสามารถเขียนผลงานที่สั้นที่สุด แต่ผู้ชนะโดยรวมจะเป็นคนที่ชนะการแข่งขันย่อยมากที่สุดเหล่านี้ ซึ่งหมายความว่าบุคคลที่ตอบคำถามในภาษาแปลก ๆ หลาย ๆ แห่งจะได้รับการพิจารณาเป็นพิเศษ Code-golf ส่วนใหญ่เป็น tiebreaker เมื่อมีวิธีแก้ปัญหามากกว่าหนึ่งภาษา: บุคคลที่มีโปรแกรมสั้นที่สุดจะได้รับเครดิตสำหรับภาษานั้น
กฎข้อ จำกัด และหมายเหตุ
โปรแกรมของคุณสามารถเขียนในภาษาใด ๆ ที่มีอยู่ก่อนวันที่ 11 เมษายน 2013 ฉันจะต้องพึ่งพาชุมชนเพื่อตรวจสอบคำตอบบางอย่างที่เขียนในภาษาที่แปลกประหลาด / ลึกลับมากกว่าเนื่องจากฉันไม่สามารถทดสอบได้ พวกเขา
กระดานแต้มนำปัจจุบัน
ส่วนนี้จะได้รับการปรับปรุงเป็นระยะเพื่อแสดงจำนวนภาษาและผู้ที่เป็นผู้นำในแต่ละภาษา
- จูเลีย (604) - plannapus
- Mathematica (71) - chyanog
- Python2.X (85) - อภิสิทธิ์
- R (34) - plannapus
อันดับผู้ใช้ปัจจุบัน
- plannapus - 2
- อภิสิทธิ์ - 1
- chyanog - 1