Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
21
Task/Cantor-set/Sidef/cantor-set.sidef
Normal file
21
Task/Cantor-set/Sidef/cantor-set.sidef
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
func cantor (height) {
|
||||
var width = 3**(height - 1)
|
||||
var lines = height.of { "\N{FULL BLOCK}" * width }
|
||||
|
||||
func trim_middle_third (len, start, index) {
|
||||
var seg = (len // 3) || return()
|
||||
|
||||
for i, j in ((index ..^ height) ~X (0 ..^ seg)) {
|
||||
lines[i].replace!(Regex("^.{#{start + seg + j}}\\K."), ' ')
|
||||
}
|
||||
|
||||
[0, 2*seg].each { |k|
|
||||
trim_middle_third(seg, start + k, index + 1)
|
||||
}
|
||||
}
|
||||
|
||||
trim_middle_third(width, 0, 1)
|
||||
return lines
|
||||
}
|
||||
|
||||
cantor(5).each { .say }
|
||||
Loading…
Add table
Add a link
Reference in a new issue