ท้าทาย
งานของคุณในคำถามนี้คือการเขียนโปรแกรมหรือฟังก์ชั่นที่มีชื่อซึ่งใช้จำนวนเต็มบวกn(มากกว่า 0) เป็นอินพุตผ่าน STDIN, ARGV หรือฟังก์ชั่นการขัดแย้งและส่งออกอาร์เรย์ผ่าน STDOUT หรือฟังก์ชั่นกลับค่า
ฟังดูง่ายพอใช่ไหม ตอนนี้ที่นี่เป็นกฎ
- อาร์เรย์จะมีจำนวนเต็มตั้งแต่
1ถึงn - แต่ละจำนวนเต็มตั้งแต่
1ถึงnควรซ้ำหลายxครั้งซึ่งxเป็นค่าของจำนวนเต็มแต่ละค่า
ตัวอย่างเช่น:
การป้อนข้อมูล:
5
เอาท์พุท:
[1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5]
อาเรย์อาจจะเรียงหรือไม่ก็ได้
นี่คือโค้ดกอล์ฟดังนั้นผู้ชนะคือรหัสที่สั้นที่สุดในหน่วยไบต์
โบนัส
คูณคะแนนของคุณด้วย0.5หากไม่มีจำนวนเต็มสองจำนวนที่อยู่ติดกันในอาร์เรย์ผลลัพธ์ของคุณเหมือนกัน
ตัวอย่างเช่นสำหรับn = 5หนึ่งการกำหนดค่าดังกล่าวจะเป็น
[5, 4, 5, 4, 3, 4, 5, 2, 5, 3, 1, 2, 3, 4, 5]
/⍨⍳n