ท้าทาย
งานของคุณในคำถามนี้คือการเขียนโปรแกรมหรือฟังก์ชั่นที่มีชื่อซึ่งใช้จำนวนเต็มบวก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