Print 1 to 15, using different printers
Pyth + ///, 15 bytes - 10 = 5
pPt`S15", STOP!
This prints 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, STOP!
in Pyth, by taking range(1,15+1)
and stripping off the start and end brackets, and printing it immediately followed by ", STOP!".
The next fourteen programs are in ///, which directly outputs all programs that don't contain /
or \
. So the second program
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
gives 2
and the third program 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
. The penultimate program, 15, STOP!
, prints 15, STOP!
, so the last program is just STOP!
.
JavaScript, 131238 - 10 = 131228 bytes
The naive approach turned out worse than expected. In hindsight I should have expected it. But I thought I'd share it anyway. Full code here.
Idea: Iteratively escaping and adding the N-1, ...
alert("14,alert(\"15, alert(\\\"STOP!\\\")\")")
CJam, 26 25 24 bytes
1{", "2$)@"_~"](_F<@*}_~
Try it online.
The subsequent programs simply have the first number incremented. This runs the program 16 times.
Or with bonus for the same score:
1{", "\2$)_G<\@`+"_~"+"STOP!"`?}_~
Try it online.
The subsequent programs simply have the first number incremented. This runs the program 16 times.
Alternative solution for the bonus:
1{", "\2$)Gmd@`+"_~"+"STOP!"`\?}_~