in reply to Golf: Buying with exact change

Fun problem. Here is a solution in 72 characters with a bound of 1000:
sub largest {my$r;$r.='('.5x$_.')*'for@_;for($i=1000;;$i--){return$i if(5x$i)!~/^$r$/}}

-Mark

Replies are listed 'Best First'.
Re^2: Golf: Buying with exact change
by !1 (Hermit) on Feb 22, 2005 at 02:08 UTC

    64

    sub largest { # 345678 1 2345678 2 2345678 3 2345678 4 2345678 5 2345678 6 234 my$r;$r.='('.5x$_.')*'for@_;for($i=1000;(5x$i)=~/^$r$/;$i--){}$i }
      59

      sub largest {
      # 345678 1 2345678 2 2345678 3 2345678 4 2345678 5 23456789
      @r=map'('.5x$_.')*',@_;for($=**=2;(5x$=)=~/^@r$/x;$=--){}$=
      }