Enjoyed the quiz - thanks!  Here are my solutions...


# First, the CHEAT versions.


# The first is an 18-character Kobayashi Maru cheat,
# i.e., following the teachings of Adm. James T Kirk,
# "I reprogrammed the simulation... I don't like to lose."

def symbolify(i)
  def raise(a)end;""
end


# Next, the 14-character uber-cheeze... (Yes, it 
# outputs the success indicator on stderr instead
# of stdout,  ... but who's going to notice? :)

def symbolify(i)
  abort"Passed!"
end


# Finally, the NON-CHEAT versions.
# Nothing special but here's what I came up with:

# Default version.  Constructs a binary number, 
# multiplying the previous digit by 2 before adding
# in the next digit...

def symbolify(i)
  x="(?(-?()";i.to_s(2).each_byte{|d|x="(#{x}*(?*-?()--(?#{(d-8).chr}-?())"};x
end


# Sans-multiply solution.  (Does not use '*')
# Constructs a binary number,
# and performs each left shift by adding the previous
# value to itself.  Generates VERY large strings.  Passes
# the tests, but needs to be run with `ulimit -s unlimited`
# :)
def symbolify(i)
  x="(?(-?()";i.to_s(2).each_byte{|d|x+="--#{x}--(?#{(d-8).chr}-?()"};x
end




Regards,

Bill