Octave, 86 bytes
while fprintf('FEWER CODERS MEANS EASIER COMMUNICATION MEANS FASTER CODING MEANS ')end
Explanation:
This is fairly self-explanatory. The only real "trick" here is to use while fprintf
. When fprintf
is given a return argument, it will return the number of characters printed, and all non-zero numbers are considered true
in Octave, so the loop condition will always be true.
I desperately tried to make the more interesting approach shorter, but it turned out to be 9 bytes longer, unfortunately:
while fprintf('FEW%sDERS%sEASI%sMMUNICATION%sFAST%sDING%s',{'ER CO',' MEANS '}{'ababab'-96})end
This tries to insert the strings 'ER CO'
and ' MEANS'
into the string at the correct locations, using direct indexing where 'ababab'-96
is a shorter version of [1 2 1 2 1 2]
.
This was a bit shorter (93 bytes), but still longer than the naive approach
while fprintf('FEWER CODERS%sEASIER COMMUNICATION%sFASTER CODING%s',{' MEANS '}{[1,1,1]})end
And another one (89 bytes), using Level River St's approach:
while fprintf(['FEWER CODERS',s=' MEANS ','EASIER COMMUNIDATION',s,'FASTER CODING',s])end
This should work in theory, for one less byte than the original solution, but it fails for some strange reason:
while fprintf"FEWER CODERS MEANS EASIER COMMUNICATION MEANS FASTER CODING MEANS "
end
This uses the buggy feature that fprintf('abc def')
is equivalent to fprintf"abc def"
. The end
must be on the next line, but it's still one byte shorter since two parentheses are skipped.
And one more for 87:
while fprintf('FEWER CODERS%sEASIER COMMUNICATION%sFASTER CODING%s',k=' MEANS ',k,k)end
Well, don't say I didn't try :)