作者: Tsutomu Hiroshima | |
日時: 2003/10/21(15:02) |
廣島です. my $num = 0; を, my $num = shift @seq; にすれば,空計算 0 * 26 を 1 つ減らせます. sub labelConv { my $label = shift; my $base = ord('A') - 1; my @seq = map { ord($_) - $base} split(//, uc $label); my $num = shift @seq; foreach my $x (@seq) { $num = $num * 26 + $x; } return $num; } ちなみに,多項式計算のアルゴリズム a*x^3 + b*x^2 + c*x + d = (((a*x + b)*x + c)*x + d は Scheme か Common Lisp の入門書で読みました. ----------------------------- 廣島 勉 (tsutomu@...)