The NPL puzzle for 6 oct was an interesting little Perl exercise [I'm not sure how to solve it analytically --- I played with it some to little avail --- but it was certainly subject to brute force, and it turned out to be a cute little thing.
Write out the digits from 1-9 in order. Then add some plus (+) signs and times (x) signs to the string to make it add up to 2,002. As usual in arithmetic, multiplication is done before addition, and you don't have to put a sign between every 2 digits. The answer is unique. What's odd is that my little Perl program found *TWO* solutions, but one is potentially ambiguous [in particular, given those rules, what should the value of "a*b*c" be?-- it doesn't say whether things should be done left-to-right or right-to-left, so perhaps that could be used to exclude one of the two solutions. Anyhow, here's the little program I whipped up for it... the fun part is that it is one of the rare times that counting base-3 is useful: for (my $count = 0; $count < 3**8; $count += 1) { my $try = fixstr($count) ; print $try,"\n" if eval($try) == 2002 ; } exit ; sub fixstr { my $key = $_[0] ; my $str = "123456789" ; for (my $i = 8; $i > 0; $i -= 1) { my $next = $key % 3 ; $key = int($key/3) ; next unless $next ; substr ($str, $i, 0, $next == 1? '+': "*") ; } return $str ; } Obviously I'm not a golfer, but I'm wondering if there are any other interesting approaches to the problem... [base-3 and eval seemed pretty clean/cute to me] /Bernie\ -- Bernie Cosell Fantasy Farm Fibers mailto:[EMAIL PROTECTED] Pearisburg, VA --> Too many people, too few sheep <--