作者: 閑舎
日時: 2002/5/05(22:24)
dune <FZH01112@...> さん writes.

> 次にアルゴリズム辞典を見て真似したのがこれ:

ビット計算などと無縁で、ひたすら 2 の累乗で割っていくのがこれ(笑)

--^ dice3.pl
my @DICE = qw(8 4 2 1);
for ($i = 0; $i < 2**@DICE; $i++) {
  for ($j = 2**(@DICE - 1), $k = 0, $m = $i, $exp = ""; $j >= 1; $j /= 2, $k++) {
    $exp .= int($m / $j)? "+$DICE[$k]": "  ";
    $m %= $j;
  }
  printf "$exp = %d\n", eval($exp);
}
--$

--
本田博通(閑舎)
Hiromichi Honda <raku@...>