Add tasks for all the new languages

This commit is contained in:
Tina Müller 2016-12-05 23:44:36 +01:00
parent 9dc3c2bb62
commit bba7bfd280
13208 changed files with 134745 additions and 0 deletions

View file

@ -0,0 +1,3 @@
[0,1,2].permutations { |p|
say p
}

View file

@ -0,0 +1,21 @@
func forperm(callback, n) {
var idx = @^n
loop {
callback([idx...])
var p = n-1
while (idx[p-1] > idx[p]) {--p}
p == 0 && return()
var d = p
idx += idx.splice(p).reverse
while (idx[p-1] > idx[d]) {++d}
idx.swap(p-1, d)
}
return()
}
forperm({|p| say p }, 3)

View file

@ -0,0 +1,11 @@
func permutations(callback, set, perm=[]) {
set.is_empty && callback(perm)
for i in ^set {
__FUNC__(callback, [
set[(0 ..^ i)..., (i+1 ..^ set.len)...]
], [perm..., set[i]])
}
return()
}
permutations({|p| say p }, [0,1,2])