สำหรับความท้าทายนี้คุณจะต้องสร้างฟังก์ชั่น (ฟังก์ชั่นของคุณอาจเป็นโปรแกรมที่สมบูรณ์) ที่รับรายการเป็นอินพุตและส่งกลับค่าการเรียงสับเปลี่ยนของรายการนั้น ฟังก์ชั่นของคุณจะต้องปฏิบัติตามข้อกำหนดดังต่อไปนี้
มันจะต้องกำหนดขึ้น
การเขียนฟังก์ชั่นของคุณด้วยตัวเองจำนวนครั้งของตัวแปรควรจะสามารถรับรายการจากการเรียงลำดับใด ๆ
นี่เป็นคำถามเกี่ยวกับรหัสกอล์ฟดังนั้นคำตอบจะได้คะแนนเป็นไบต์โดยไบต์น้อยจะดีขึ้น
กฎเพิ่มเติม
คุณอาจจะใช้วิธีใดรายการ (
[Integer]
,[String]
,[[Integer]]
) ตราบใดที่มัน- ต้องไม่ว่างเปล่า
- สามารถมีวัตถุที่แตกต่างอย่างน้อย 16 ค่าที่เป็นไปได้ (คุณไม่สามารถใช้ Haskell
[()]
และอ้างสิทธิ์การทำงานของคุณได้id
) - สามารถมีวัตถุที่ซ้ำกัน (ไม่มีชุด)
คุณอาจเขียนโปรแกรมหรือฟังก์ชั่น แต่ต้องเชื่อฟังมาตรฐาน IO
next_permutation
ฟังก์ชั่น
S_n
เป็นวัฏจักรเท่านั้นสำหรับn<3