in reply to Re: Vampire Numbers Revisited
in thread Vampire Numbers Revisited

First of all you have a bug, you're excluding the possibility that the two factors both end in 0 for no apparent reason. If I elminate that and use standard golfing techniques (plus the mathematical fact that if $a or $_ is 10**$z then you can't possibly satisfy the fang condition) I get down to 126 by usual golf counting rules (less by yours, but the returns all matter!):
$z=pop()/2;for$a(1..10**$z){sub a{join"",sort pop=~/./g}$,=$a*$_,a($a.$_)!=a$,or$z*2>length$,or print"$, $a $_ "for$a..10**$z}
Note that $, is used rather than a more normal variable name because it lets me remove one space.

I'll give better than even odds that someone else can cut out another character still. (Assuming that the right someone else tries...)

Update: I realize now that you're looking for true vampire numbers and not vampire numbers. Golfing that I get 140 characters with:

$z=pop()/2;for$a(1..10**$z){sub a{join"",sort pop=~/./g}$,=$a*$_,a($a.$_)!=a$,or$z*2>length$,or($a%10+$_%10)&&print" +$, $a $_ "for$a..10**$z}
Update 2: I did a meaningless code rearrangement to make the longest line shorter.

Replies are listed 'Best First'.
Re^3: Vampire Numbers Revisited
by jbware (Chaplain) on Mar 25, 2005 at 15:10 UTC
    Nice++ In retrospect I should've mentioned the goal of true vampire numbers. I thought I was being thorough regarding the definition, but not mentioning that part of the spec was my bad.

    -jbWare