Sierpinski triangle: Difference between revisions
Content added Content deleted
(elided the 2nd Peal entry, added a "version 1" to the first example, convert the section head "one liner" to a version entry.) |
|||
Line 2,910: | Line 2,910: | ||
* * * * * * * * * * * * * * * * |
* * * * * * * * * * * * * * * * |
||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
||
</pre> |
|||
=={{header|PHP}}== |
|||
{{Trans|JavaScript}} |
|||
<lang PHP><?php |
|||
function sierpinskiTriangle($order) { |
|||
$char = '#'; |
|||
$n = 1 << $order; |
|||
$line = array(); |
|||
for ($i = 0 ; $i <= 2 * $n ; $i++) { |
|||
$line[$i] = ' '; |
|||
} |
|||
$line[$n] = $char; |
|||
for ($i = 0 ; $i < $n ; $i++) { |
|||
echo implode('', $line), PHP_EOL; |
|||
$u = $char; |
|||
for ($j = $n - $i ; $j < $n + $i + 1 ; $j++) { |
|||
$t = ($line[$j - 1] == $line[$j + 1] ? ' ' : $char); |
|||
$line[$j - 1] = $u; |
|||
$u = $t; |
|||
} |
|||
$line[$n + $i] = $t; |
|||
$line[$n + $i + 1] = $char; |
|||
} |
|||
} |
|||
sierpinskiTriangle(4); |
|||
</lang> |
|||
{{out}} |
|||
<pre> # |
|||
# # |
|||
# # |
|||
# # # # |
|||
# # |
|||
# # # # |
|||
# # # # |
|||
# # # # # # # # |
|||
# # |
|||
# # # # |
|||
# # # # |
|||
# # # # # # # # |
|||
# # # # |
|||
# # # # # # # # |
|||
# # # # # # # # |
|||
# # # # # # # # # # # # # # # # |
|||
</pre> |
</pre> |
||