分页: 1 / 1

[练习]打印 Sirpinski(谢尔宾斯基) 三角形

发表于 : 2017年03月18日 09:48
523066680
Sirpinski 三角形的构造和图示可以参考
Wikipedia: Sierpinski triangle
512px-Sierpinski_triangle_evolution.svg.png
(8.16 KiB) 已下载 1014 次

Re: [练习]打印 Sirpinski(谢尔宾斯基) 三角形

发表于 : 2017年03月18日 10:01
523066680
Perl 版
#Code by 523066680 / Sirpinski Triangle
my @tri = "*";
func( \@tri, 1 );

sub func
{
my ($ref, $lv) = (shift, shift);
my @tri;
my $top = $#$ref + 1;

grep { push @tri, "$_ $_" } @$ref;
grep { unshift @tri, " "x$top .$_ ." "x$top } ( reverse @$ref );

( $lv <= 4 ) ?
func( \@tri, $lv+1 ) : print join("\n", @tri);
}
> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *