GolfScript, 120 / 120 bytes = 100%
{:&&32>&&+254<*{7+7+94%33+}*}%LiUUbamUUZadckYLfZfZhcTbbZNYNT
or, in ROT-47:
LiUUbamUUZadckYLfZfZhcTbbZNYNT{:&&32>&&+254<*{7+7+94%33+}*}%
No comments or string abuse. The undefined command LiUUbamUUZadckYLfZfZhcTbbZNYNT
(which equals the rest of the code in ROT-47) is a no-op, but it still gets executed by the interpreter, so I believe it counts as used.
This was actually a pretty easy challenge in GolfScript. The main difficulty was in avoiding the digit 1
, which is mapped by ROT-47 into the GolfScript command `
. The commands .
, -
, ,
, \
, [
, /
, ]
and ^
also had to be avoided, but that was fairly easy in this case, since the task required no array building.
Bonus:
Here's a GolfScript period-2 quineperiod-2 quine (i.e. a program that prints a second program that prints the first program again) where the two programs are the ROT-47 transforms of each other:
{`'0$~'+.{7+7+94%33+}%@!{0$@@;}*}0$~L1V_SOVZ]LfZfZhcTbbZNToPL_SoojNYN_SO
This program outputs itself ROT-47 encoded, yielding another GolfScript program:
L1V_SOVZ]LfZfZhcTbbZNToPL_SoojNYN_SO{`'0$~'+.{7+7+94%33+}%@!{0$@@;}*}0$~
which, in turn, also outputs itself ROT-47 encoded, yielding the previous program again. Thus, this program is also a rotating quinerotating quine.