[Perl][プログラム] 再帰型だとコードは綺麗なんだけどdeep recursionでエラー吐くのでループに直す。
#!/usr/bin/perl -w use strict; use bigint; # 1 # 1 1 # 1 2 1 # 1 3 3 1 # 1 4 6 4 1 sub nextPascal{ my @pascal = @_; return 1 if !@pascal; my @ret = $pascal[0]; for(my $ii=1; $ii<@pascal; $ii++){ push @ret, $pascal[$ii-1] + $pascal[$ii]; } push @ret, $pascal[@pascal-1]; return @ret; } my @pascal; for(0..$ARGV[0]){ @pascal = nextPascal(@pascal); print "@pascal\n"; }
これで1000段目くらいまで行けるはずなんだけどまだ計算中。