Challenge:

The concept is simple enough: write a full program to output its own code golf score!

Output should only be the byte count of your program and a trailing  bytes.

BUT WAIT..... there is one restriction:

• Your source code can not include any of the digits from your byte count
• So if your score is 186 bytes, your program can not contain the characters 1 , 6 , or 8

Example Output:

315 bytes
27 Bytes
49 BYTES


• Unnecessary characters, spaces, and newlines are forbidden in the source code, however trailing spaces and newlines are perfectly acceptable in output
• There should be a single space between the number and bytes in the output
• Letters are case insensitive
• No self inspection or reading the source code
• standard loopholes are disallowed

• this is , so

Shortest code in bytes wins!

• Does this need the quine tag, or may the code self-inspect?
Mar 29, 2018 at 15:59
• @Dat, given the formatting of the word bytes I suspect the intention is that the count should include the bytes it takes to print the text: bytes Mar 29, 2018 at 16:16
• Are leading spaces in output acceptable? Mar 29, 2018 at 17:43
• If my code is 1 byte long, should I output 1 bytes or 1 byte? (keep in mind there are already 41 answers, although I don't think any are affected) Mar 29, 2018 at 18:07
• Can bytes be in any case pattern, e.g. bYtEs? Dec 27, 2019 at 14:56

# Commodore 64 - 74 tokenized and BASIC bytes

Assuming by score in bytes, you mean tokens and bytes used by the BASIC interpreter, this works:

0 def fn b(x) = 38911-(fre(x)-2^16*(fre(x)<x)): print fnb(.);"bytes


There is a bug in the FRE() function on the Commodore 64 as it assumes maximum size of BASIC is 32K, or 32768 bytes.

### Commodore VIC-20 (unexpanded) - 29 tonkenized and BASIC bytes

0?(60*60-17)-fre(.)"bytes


# Zsh, 16 bytes

<<<$[##␐]\ bytes Attempt This Online! ␐ should be a literal 0x10 byte, but that doesn't show up in SE markdown. ## Zsh-BCDEFGHIJ, 13 bytes <<<$#-\ bytes

Attempt This Online!

Cheating.

• What is that flag lol Aug 24, 2022 at 15:14
• @thejonymyster It doesn't matter what the contents of the flag is, but the code itself is counting the length of the flags (I think). Aug 24, 2022 at 16:14
• @Steffan That's correct. Note that Zsh already has the options 569X enabled by default, so by adding BCDEFGHIJ the length of the options reaches 13. Aug 24, 2022 at 17:33

++++[]]]][]^^]]+++++PPDP++]]P^]+++++++P-----P(D+++P<-P!


Try it here, code will have to be pasted in and executed as shown below:

erun("++++[]]]][]^^]]+++++PPDP++]]P^]+++++++P-----P(D+++P<-P!")


Outputs 55 BYTES

Code breakdown:

++++[]]]][]^^]]+++++PPDP++]]P^]+++++++P-----P(D+++P<-P! full program
++++[]]]][                                              save 16 to R2
]^^                                           save 32 to R1
]]+++++PP                                  append "55" to string register
DP                                append " " to string register
++]]P                           append "B" to string register
^                          save 66 to R1
]+++++++P                 append "Y" to string register
-----P           append "T" to string register
(          store 84 in R3
D+++P     append "E" to string register
<-P  append "S" to string register
! print string register


This breakdown isn't great but the basic idea is that [^( store to registers and ]D< return values from registers, and treat the rest like brainfuck basically :P

• Oh wait this is 54 bytes in Headass, i'll add it later Aug 24, 2022 at 20:00

# Thunno, 14 bytes

7 2*J" bytes"+


Attempt This Online!

#### Explanation

7 2*             # Push 7 * 2 (14)
J            # Convert to string
" bytes"    # Push the string " bytes"
+   # Concatenate
# Implicit output


# RProgN 2, 12 bytes

34*" bytes"+


Try it online!