Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
24
Task/Zig-zag-matrix/Sidef/zig-zag-matrix.sidef
Normal file
24
Task/Zig-zag-matrix/Sidef/zig-zag-matrix.sidef
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
func zig_zag(w, h) {
|
||||
|
||||
var r = [];
|
||||
var n = 0;
|
||||
|
||||
h.of { |e|
|
||||
w.of { |f|
|
||||
[e-1, f-1]
|
||||
}
|
||||
} \
|
||||
-> reduce('+') \
|
||||
-> sort { |a, b|
|
||||
(a[0]+a[1] <=> b[0]+b[1]) ||
|
||||
(a[0]+a[1] -> is_even ? a[0]<=>b[0]
|
||||
: a[1]<=>b[1])
|
||||
} \
|
||||
-> each { |a|
|
||||
r[a[1]][a[0]] = n++;
|
||||
}
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
zig_zag(5, 5).each {say .join('', {|i| "%4i" % i})};
|
||||
Loading…
Add table
Add a link
Reference in a new issue