Sierpinski carpet: Difference between revisions
Content added Content deleted
(Added Wren) |
|||
Line 5,439: | Line 5,439: | ||
# ## ## ## ## ## ## ## ## # |
# ## ## ## ## ## ## ## ## # |
||
###########################</pre> |
###########################</pre> |
||
=={{header|Wren}}== |
|||
{{trans|Python}} |
|||
<lang ecmascript>var inCarpet = Fn.new { |x, y| |
|||
while (true) { |
|||
if (x == 0 || y == 0) return true |
|||
if (x%3 == 1 && y%3 == 1) return false |
|||
x = (x/3).floor |
|||
y = (y/3).floor |
|||
} |
|||
} |
|||
var carpet = Fn.new { |n| |
|||
var power = 3.pow(n) |
|||
for (i in 0...power) { |
|||
for (j in 0...power) { |
|||
System.write(inCarpet.call(i, j) ? "#" : " ") |
|||
} |
|||
System.print() |
|||
} |
|||
} |
|||
carpet.call(3)</lang> |
|||
{{out}} |
|||
<pre> |
|||
########################### |
|||
# ## ## ## ## ## ## ## ## # |
|||
########################### |
|||
### ###### ###### ### |
|||
# # # ## # # ## # # # |
|||
### ###### ###### ### |
|||
########################### |
|||
# ## ## ## ## ## ## ## ## # |
|||
########################### |
|||
######### ######### |
|||
# ## ## # # ## ## # |
|||
######### ######### |
|||
### ### ### ### |
|||
# # # # # # # # |
|||
### ### ### ### |
|||
######### ######### |
|||
# ## ## # # ## ## # |
|||
######### ######### |
|||
########################### |
|||
# ## ## ## ## ## ## ## ## # |
|||
########################### |
|||
### ###### ###### ### |
|||
# # # ## # # ## # # # |
|||
### ###### ###### ### |
|||
########################### |
|||
# ## ## ## ## ## ## ## ## # |
|||
########################### |
|||
</pre> |
|||
=={{header|X86 Assembly}}== |
=={{header|X86 Assembly}}== |