Skip to main content
Bounty Ended with 100 reputation awarded by Number Basher
added 1037 characters in body
Source Link
emanresu A
  • 44.2k
  • 5
  • 100
  • 240

???Befunge-98, 13 bytes, cracked by lyxal

:+1_#_@#-d',:

I rate this easy-medium, with the right perspective. It's a language on TIO that you have probably heard of.

Prints ASCII characters 1-100.

I went to a lot of effort to disguise that this was 2d, avoiding explicit redirects like <>^v. I tried to remove the @, but code to replace it was too complex. I now realise that the d' was a big giveaway as it signified that the program had to reverse.

The basic idea is that :+1_ at the start effectively redirects left, then the loop begins.

The loop is 1+::,'d-#@_#_. 1+ increments the ToS (initially a 0) then ::, duplicates it twice and prints it. 'd- pushes 100, then subtracts, leaving 0 only if the ToS is 100.

#@ and #_ are skipped during normal iteration of the loop, because # skips the next character. The instruction pointer passes through the #@ to the _, and if there is a 0 (i.e. the current number is 100) the IP redirects right to the @ and halts the program.

Otherwise, it continues through the #_ and the next iteration begins.

???, 13 bytes

:+1_#_@#-d',:

I rate this easy-medium, with the right perspective. It's a language on TIO that you have probably heard of.

Prints ASCII characters 1-100.

Befunge-98, 13 bytes, cracked by lyxal

:+1_#_@#-d',:

I rate this easy-medium, with the right perspective. It's a language on TIO that you have probably heard of.

Prints ASCII characters 1-100.

I went to a lot of effort to disguise that this was 2d, avoiding explicit redirects like <>^v. I tried to remove the @, but code to replace it was too complex. I now realise that the d' was a big giveaway as it signified that the program had to reverse.

The basic idea is that :+1_ at the start effectively redirects left, then the loop begins.

The loop is 1+::,'d-#@_#_. 1+ increments the ToS (initially a 0) then ::, duplicates it twice and prints it. 'd- pushes 100, then subtracts, leaving 0 only if the ToS is 100.

#@ and #_ are skipped during normal iteration of the loop, because # skips the next character. The instruction pointer passes through the #@ to the _, and if there is a 0 (i.e. the current number is 100) the IP redirects right to the @ and halts the program.

Otherwise, it continues through the #_ and the next iteration begins.

added 56 characters in body
Source Link
emanresu A
  • 44.2k
  • 5
  • 100
  • 240

???, 13 bytes

:+1_#_@#-d',:

I rate this easy-medium, with the right perspective. It's a language on TIO that you have probably heard of.

Prints ASCII characters 1-100.

???, 13 bytes

:+1_#_@#-d',:

I rate this easy-medium, with the right perspective.

???, 13 bytes

:+1_#_@#-d',:

I rate this easy-medium, with the right perspective. It's a language on TIO that you have probably heard of.

Prints ASCII characters 1-100.

added 35 characters in body
Source Link
emanresu A
  • 44.2k
  • 5
  • 100
  • 240

???, 13 bytes

:+1_#_@#-d',:

I rate this easy-medium, with the right perspective.

???, 13 bytes

:+1_#_@#-d',:

I rate this easy.

???, 13 bytes

:+1_#_@#-d',:

I rate this easy-medium, with the right perspective.

Source Link
emanresu A
  • 44.2k
  • 5
  • 100
  • 240
Loading