RosettaCodeData/Task/N-queens-problem/Jq/n-queens-problem-3.jq
2017-09-25 22:28:19 +02:00

13 lines
361 B
Text

# permutations of 0 .. (n-1)
def permutations(n):
# Given a single array, generate a stream by inserting n at different positions:
def insert(m;n):
if m >= 0 then (.[0:m] + [n] + .[m:]), insert(m-1;n) else empty end;
if n==0 then []
elif n == 1 then [1]
else
permutations(n-1) | insert(n-1; n)
end;
def count(g): reduce g as $i (0; .+1);