Skip to main content
added 82 characters in body
Source Link

C (gcc), 179 159 146 139 137 116 107 103103 102 bytes

Edit 7: Use && on final check to replace ? - thanks jxh.

c,h;f(char*s){while(c=*s++)putchar(c),h=h%10816*104+c%27,memchr("&;@X\\ru{",h%3817,9)?putchar&&putchar(h=32):1;;} 

Try it online!Try it online!

C (gcc), 179 159 146 139 137 116 107 103 bytes

c,h;f(char*s){while(c=*s++)putchar(c),h=h%10816*104+c%27,memchr("&;@X\\ru{",h%3817,9)?putchar(h=32):1;} 

Try it online!

C (gcc), 179 159 146 139 137 116 107 103 102 bytes

Edit 7: Use && on final check to replace ? - thanks jxh.

c,h;f(char*s){while(c=*s++)putchar(c),h=h%10816*104+c%27,memchr("&;@X\\ru{",h%3817,9)&&putchar(h=32);} 

Try it online!

added 169 characters in body
Source Link

C (gcc), 179 159 146 139 137 116 107107 103 bytes

Edit 7: Use memchr and fixed a bug pointed out by James Holderness.

c,h;f(char*s){while(c=*s++)putchar(c),h=h%10816*104+c%27,c=h%3817,printf(" "+!(c&&strchrmemchr("&;@X\\ru{",c)h%3817,9)?putchar(h=32);:1;} 

Try it online!Try it online!

Non-golfed new:(Which is still very golfy honestly...)

 charint c; int h;   void f(char*s) { while(c=*s++) putchar(c), h = h % 10816 * 104 + c%27,   c = h % 3817h=h%10816*104+c%27,   printf(" " + !(c&&strchrmemchr("&;@X\\ru{",c)h%3817,9)?putchar(h=32);:1; } 

C (gcc), 179 159 146 139 137 116 107 bytes

c,h;f(char*s){while(c=*s++)putchar(c),h=h%10816*104+c%27,c=h%3817,printf(" "+!(c&&strchr("&;@X\\ru{",c)));} 

Try it online!

Non-golfed new:

 char c; int h;   f(char*s) { while(c=*s++) putchar(c), h = h % 10816 * 104 + c%27,   c = h % 3817,   printf(" " + !(c&&strchr("&;@X\\ru{",c))); } 

C (gcc), 179 159 146 139 137 116 107 103 bytes

Edit 7: Use memchr and fixed a bug pointed out by James Holderness.

c,h;f(char*s){while(c=*s++)putchar(c),h=h%10816*104+c%27,memchr("&;@X\\ru{",h%3817,9)?putchar(h=32):1;} 

Try it online!

Non-golfed (Which is still very golfy honestly...)

 int c; int h; void f(char*s) { while(c=*s++) putchar(c), h=h%10816*104+c%27, memchr("&;@X\\ru{",h%3817,9)?putchar(h=32):1; } 
Implemented suggestions.
Source Link

C (gcc), 179 159 146 139 137 116 109107 bytes

Edit 6: MasterRemoved 0 set as it seems to go there automatically - Master level code golf techniques used (commas, printf trick, etc.) - thanks gastropner!

c,h=0;fh;f(char*s){while(c=*s++)putchar(c),h=h%10816*104+c%27,c=h%3817,printf(" "+!(c&&strchr("&;@X\\ru{",c)));} 

Try it online!Try it online!

 f(char*s) {  char c;  int h=0;h;   f(char*s) { while(c=*s++) putchar(c), h = h % 10816 * 104 + c%27, c = h % 3817, printf(" " + !(c&&strchr("&;@X\\ru{",c))); } 

C (gcc), 179 159 146 139 137 116 109 bytes

Edit 6: Master level code golf techniques used (commas, printf trick, etc.) - thanks gastropner!

c,h=0;f(char*s){while(c=*s++)putchar(c),h=h%10816*104+c%27,c=h%3817,printf(" "+!(c&&strchr("&;@X\\ru{",c)));} 

Try it online!

 f(char*s) {  char c;  int h=0;   while(c=*s++) putchar(c), h = h % 10816 * 104 + c%27, c = h % 3817, printf(" " + !(c&&strchr("&;@X\\ru{",c))); } 

C (gcc), 179 159 146 139 137 116 107 bytes

Edit 6: Removed 0 set as it seems to go there automatically - Master level code golf techniques used (commas, printf trick, etc.) - thanks gastropner!

c,h;f(char*s){while(c=*s++)putchar(c),h=h%10816*104+c%27,c=h%3817,printf(" "+!(c&&strchr("&;@X\\ru{",c)));} 

Try it online!

 char c; int h;  f(char*s) { while(c=*s++) putchar(c), h = h % 10816 * 104 + c%27, c = h % 3817, printf(" " + !(c&&strchr("&;@X\\ru{",c))); } 
Implemented suggestions.
Source Link
Loading
deleted 26 characters in body
Source Link
Loading
deleted 26 characters in body
Source Link
Loading
added 849 characters in body
Source Link
Loading
2 more bytes off
Source Link
Loading
added 73 characters in body
Source Link
Loading
added 55 characters in body
Source Link
Loading
Added URL for runs.
Source Link
Loading
Removed 20 bytes thanks to help!
Source Link
Loading
Golfed a bit
Source Link
Loading
Source Link
Loading