r€⁸Œp»\QṚ
ลองออนไลน์!
อย่างไร?
r€⁸Œp»\QṚ - Link: integer, N e.g. 4
€ - for €ach of implicit range of N (i.e. for i in [1,2,3,...N])
⁸ - with the chain's left argument, N on the right:
r - inclusive range (for i<=N this yields [i, i+1, ..., N]
- ...leaving us with a list of lists like the post-fixes of [1,2,3,....,N]
- e.g. [[1,2,3,4],[2,3,4],[3,4],[4]]
Œp - Cartesian product* of these N lists
- e.g. [[1,2,3,4],[1,2,4,4],[1,3,3,4],[1,3,4,4],[1,4,3,4],[1,4,4,4],[2,2,3,4],[2,2,4,4],[2,3,3,4],[2,3,4,4],[2,4,3,4],[2,4,4,4],[3,2,3,4],[3,2,4,4],[3,3,3,4],[3,3,4,4],[3,4,3,4],[3,4,4,4],[4,2,3,4],[4,2,4,4],[4,3,3,4],[4,3,4,4],[4,4,3,4],[4,4,4,4]]
\ - cumulative reduce with:
» - maximum (vectorises)
- e.g. [[1,2,3,4],[1,2,4,4],[1,3,4,4],[1,3,4,4],[1,4,4,4],[1,4,4,4],[2,4,4,4],[2,4,4,4],[2,4,4,4],[2,4,4,4],[2,4,4,4],[2,4,4,4],[3,4,4,4],[3,4,4,4],[3,4,4,4],[3,4,4,4],[3,4,4,4],[3,4,4,4],[4,4,4,4],[4,4,4,4],[4,4,4,4],[4,4,4,4],[4,4,4,4],[4,4,4,4]]
Q - de-duplicate e.g. [[1,2,3,4],[1,2,4,4],[1,3,4,4],[1,4,4,4],[2,4,4,4],[3,4,4,4],[4,4,4,4]]
Ṛ - reverse e.g. [[4,4,4,4],[3,4,4,4],[2,4,4,4],[1,4,4,4],[1,3,4,4],[1,2,4,4],[1,2,3,4]]
* อาจเป็นการง่ายกว่าที่จะเห็นสิ่งที่เกิดขึ้นกับผลิตภัณฑ์คาร์ทีเซียนที่ใช้ด้านบนโดยมีอินพุตอื่น:
the Cartesian product of [[0,1,2],[3,4],[5]]
is [[0,3,5],[0,4,5],[1,3,5],[1,4,5],[2,3,5],[2,4,5]]
i
th มีการจัดทำดัชนี 1 เสมอ