如何用perl输出杨辉三角

来源:百度知道 编辑:UC知道 时间:2024/05/24 03:08:34
用PERL输出杨辉三角,以等边三角形形式,并将其中所有偶数换成空格,奇数换成“*”
多谢帮助~

#! /usr/bin/perl -w
use strict;

my $N = ($ARGV[0] ? $ARGV[0] : 10);
my ($i, $j);
my @a;
my $s = " ";
my $t = " ";

sub fak {
$_[0] > 1 ? $_[0] * fak($_[0]-1) : 1;
}

for ($i=0; $i<$N; $i++) {
print $s x (2*($N-$i));
for ($j=0; $j<$i+1; $j++) {
$a[$i][$j] = fak($i)/(fak($j)*fak($i-$j));
if ($a[$i][$j] % 2 > 0) { $a[$i][$j] = "*"; } else { $a[$i][$j] = " "; }
print $a[$i][$j] . $t ;
}
print "\n";
}