Skip to main content
deleted 70 characters in body; edited body; edited body; added 3 characters in body
Source Link
Nick Kennedy
  • 21.2k
  • 3
  • 17
  • 43

Jelly, 235 225213 bytes

“¤ßȷŒȷddðdẎeȤdƤƬddƲdƝ‘s2⁵+€⁴¤żẎṣjƭƒ“Ç=ÇgƲȷ€çfȤeƲ€fƈiÆf¿fÐɦÇÞµÞÇe2jÑصؿg8i€ØµØ½ð4Ɲ5Ɲ2fƲµÞµÞ½Ʋ;æ½f¿f½Ʋ5¤6Ʋ€g¬g½i¬ⱮvðɓȷeðɓȷeðɓȷeḳƁḳeƤııeƤııeƤııⱮp×ædɓædɓædɓd×⁾×eƝçıçeƝçıçeƝçıçd×⁾¤o‘b50U+Ø0U‘Œṙṁ1xⱮ“&ðẏṪ¶ẏ×Ṙ⁷Ƈ⁾1Ẓṁn#’b64¤¤ị““µ!æeıçȷ&#ð%ø&$dɓeñe÷Ɲ$Ƥ&ɓ'¤"' 'dd%dẎeȤdƤƬddƲdƝ‘s2⁴+Ɱ23¤żẎṣjƭƒ“Ç=ÇgƲ'€$fȤeƲ€fƈiÆf¿fÐɦÇ!×Çe2jÑþµþ¿g8i€þµþ½%4Ɲ5Ɲ2fƲ××½Ʋ;#½f¿f½Ʋ5¤6Ʋ€g¬g½i¬ⱮvØØØḳƁḳÞÞÞⱮpœßßßdœ⁾œŒŒŒdœ⁾¤o‘b50U+Ø0U‘Œṙṁ1xⱮ“&ðẏṪ¶ẏ×Ṙ⁷Ƈ⁾1Ẓṁn#’b64¤¤ị“ *#.-”Y

Try it online!Try it online!

Uses a combination of run-length encoding and replacement of common length-2 sequences with a single digit. Does not use any standard compression library like gzip. Overall has 182169 bytes of compressed data and 4344 of code.

Step 1: replace values in the data between 17 and 2639 with prestored pairs of bytes

“¤“µ...Ɲ‘                     | Base-250 integer list 39, 2133, 2622, 19101, 25, 23, 26, 38, 35, 24, 37, 29, 38, 36, 100, 155, 101, 27, 101, 28, 150, 36, 151, 38, 155, 39, 3, 34, 39, 32, 39, 100, 24100, 37, 100, 209, 101, 154, 100, 151, 152, 100, 100, 153, 100, 150
       s2                   | Split into twos
             ¤ż             | Zip the following as a nilad with this:
                           | - 1016
          +€⁴+Ɱ23               | - Add 16this to implicit range from 1 to 1023
             Ẏ              | Tighten (join outermost lists)
                   ƒ“Ç...o‘ | Reduce using the following, and starting with the base-250 integer list 14, 61, 14, 103, 153, 2639, 12, 2336, 102, 154, 101, 153, 12, 102, 156, 105, 13, 102, 11, 102, 15, 160, 14, 20, 933, 2017, 14, 101, 50, 106, 16, 1831, 9, 1831, 11, 103, 56, 105, 12, 1831, 9, 1831, 10, 2437, 52, 150, 53, 150, 50, 102, 153, 9, 20, 917, 2017, 10, 153, 59, 2235, 10, 102, 11, 102, 10, 153, 53, 3, 54, 153, 12, 103, 7, 103, 10, 105, 7, 149, 118, 24, 155, 26, 101, 24, 155, 26, 101, 24, 15518, 2618, 10118, 217, 143, 217, 101, 151, 25, 25, 101, 151, 25, 25, 101, 15120, 2520, 2520, 149, 112, 17, 22, 100, 155, 22, 100, 15530, 2221, 10021, 15521, 100, 1730, 142, 17, 101, 150, 23, 25, 23, 101, 150, 23, 25, 23, 101, 15030, 2319, 2519, 2319, 100, 1730, 142, 3, 111
                  ƭ         | - Alternate between:
                ṣ           |   - Splitting
                 j          |   - And joining

Jelly, 235 225 bytes

“¤ßȷŒȷddðdẎeȤdƤƬddƲdƝ‘s2⁵+€⁴¤żẎṣjƭƒ“Ç=ÇgƲȷ€çfȤeƲ€fƈiÆf¿fÐɦÇÞµÞÇe2jÑصؿg8i€ØµØ½ð4Ɲ5Ɲ2fƲµÞµÞ½Ʋ;æ½f¿f½Ʋ5¤6Ʋ€g¬g½i¬ⱮvðɓȷeðɓȷeðɓȷeḳƁḳeƤııeƤııeƤııⱮp×ædɓædɓædɓd×⁾×eƝçıçeƝçıçeƝçıçd×⁾¤o‘b50U+Ø0U‘Œṙṁ1xⱮ“&ðẏṪ¶ẏ×Ṙ⁷Ƈ⁾1Ẓṁn#’b64¤¤ị“ *#.-”Y

Try it online!

Uses a combination of run-length encoding and replacement of common length-2 sequences with a single digit. Does not use any standard compression library like gzip. Overall has 182 bytes of compressed data and 43 of code.

Step 1: replace values in the data between 17 and 26 with prestored pairs of bytes

“¤...Ɲ‘                     | Base-250 integer list 3, 21, 26, 19, 26, 100, 100, 24, 100, 209, 101, 154, 100, 151, 152, 100, 100, 153, 100, 150
       s2                   | Split into twos
             ¤ż             | Zip the following as a nilad with this:
                           | - 10
          +€⁴               | - Add 16 to implicit range from 1 to 10
             Ẏ              | Tighten (join outermost lists)
                   ƒ“Ç...o‘ | Reduce using the following, and starting with the base-250 integer list 14, 61, 14, 103, 153, 26, 12, 23, 102, 154, 101, 153, 12, 102, 156, 105, 13, 102, 11, 102, 15, 160, 14, 20, 9, 20, 14, 101, 50, 106, 16, 18, 9, 18, 11, 103, 56, 105, 12, 18, 9, 18, 10, 24, 52, 150, 53, 150, 50, 102, 153, 9, 20, 9, 20, 10, 153, 59, 22, 10, 102, 11, 102, 10, 153, 53, 3, 54, 153, 12, 103, 7, 103, 10, 105, 7, 149, 118, 24, 155, 26, 101, 24, 155, 26, 101, 24, 155, 26, 101, 217, 143, 217, 101, 151, 25, 25, 101, 151, 25, 25, 101, 151, 25, 25, 149, 112, 17, 22, 100, 155, 22, 100, 155, 22, 100, 155, 100, 17, 142, 17, 101, 150, 23, 25, 23, 101, 150, 23, 25, 23, 101, 150, 23, 25, 23, 100, 17, 142, 3, 111
                  ƭ         | - Alternate between:
                ṣ           |   - Splitting
                 j          |   - And joining

Jelly, 235 213 bytes

“µ!æeıçȷ&#ð%ø&$dɓeñe÷Ɲ$Ƥ&ɓ'¤"' 'dd%dẎeȤdƤƬddƲdƝ‘s2⁴+Ɱ23¤żẎṣjƭƒ“Ç=ÇgƲ'€$fȤeƲ€fƈiÆf¿fÐɦÇ!×Çe2jÑþµþ¿g8i€þµþ½%4Ɲ5Ɲ2fƲ××½Ʋ;#½f¿f½Ʋ5¤6Ʋ€g¬g½i¬ⱮvØØØḳƁḳÞÞÞⱮpœßßßdœ⁾œŒŒŒdœ⁾¤o‘b50U+Ø0U‘Œṙṁ1xⱮ“&ðẏṪ¶ẏ×Ṙ⁷Ƈ⁾1Ẓṁn#’b64¤¤ị“ *#.-”Y

Try it online!

Uses a combination of run-length encoding and replacement of common length-2 sequences with a single digit. Does not use any standard compression library like gzip. Overall has 169 bytes of compressed data and 44 of code.

Step 1: replace values in the data between 17 and 39 with prestored pairs of bytes

“µ...Ɲ‘                     | Base-250 integer list 9, 33, 22, 101, 25, 23, 26, 38, 35, 24, 37, 29, 38, 36, 100, 155, 101, 27, 101, 28, 150, 36, 151, 38, 155, 39, 3, 34, 39, 32, 39, 100, 100, 37, 100, 209, 101, 154, 100, 151, 152, 100, 100, 153, 100, 150
       s2                   | Split into twos
             ¤ż             | Zip the following as a nilad with this:
                           | - 16
          +Ɱ23               | - Add this to implicit range from 1 to 23
             Ẏ              | Tighten (join outermost lists)
                   ƒ“Ç...o‘ | Reduce using the following, and starting with the base-250 integer list 14, 61, 14, 103, 153, 39, 12, 36, 102, 154, 101, 153, 12, 102, 156, 105, 13, 102, 11, 102, 15, 160, 14, 33, 17, 14, 101, 50, 106, 16, 31, 9, 31, 11, 103, 56, 105, 12, 31, 9, 31, 10, 37, 52, 150, 53, 150, 50, 102, 153, 17, 17, 10, 153, 59, 35, 10, 102, 11, 102, 10, 153, 53, 3, 54, 153, 12, 103, 7, 103, 10, 105, 7, 149, 118, 18, 18, 18, 217, 143, 217, 20, 20, 20, 149, 112, 30, 21, 21, 21, 100, 30, 142, 30, 19, 19, 19, 100, 30, 142, 3, 111
                  ƭ         | - Alternate between:
                ṣ           |   - Splitting
                 j          |   - And joining
added 2332 characters in body
Source Link
Nick Kennedy
  • 21.2k
  • 3
  • 17
  • 43

Jelly, 235 226225 bytes

“¤ßȷŒȷddðdẎeȤdƤƬddƲdƝ‘s2⁵+€⁴¤żẎœṣjƭƒ“Ç=ÇgƲȷ€çfȤeƲ€fƈiÆf¿fÐɦÇÞµÞÇe2jÑصؿg8i€ØµØ½ð4Ɲ5Ɲ2fƲµÞµÞ½Ʋ;æ½f¿f½Ʋ5¤6Ʋ€g¬g½i¬ⱮvðɓȷeðɓȷeðɓȷeḳƁḳeƤııeƤııeƤııⱮp×ædɓædɓædɓd×⁾×eƝçıçeƝçıçeƝçıçd×⁾¤o‘b50U+Ø0U‘Œṙṁ1xⱮ“&ðẏṪ¶ẏ×Ṙ⁷Ƈ⁾1Ẓṁn#’b64¤¤ị““¤ßȷŒȷddðdẎeȤdƤƬddƲdƝ‘s2⁵+€⁴¤żẎṣjƭƒ“Ç=ÇgƲȷ€çfȤeƲ€fƈiÆf¿fÐɦÇÞµÞÇe2jÑصؿg8i€ØµØ½ð4Ɲ5Ɲ2fƲµÞµÞ½Ʋ;æ½f¿f½Ʋ5¤6Ʋ€g¬g½i¬ⱮvðɓȷeðɓȷeðɓȷeḳƁḳeƤııeƤııeƤııⱮp×ædɓædɓædɓd×⁾×eƝçıçeƝçıçeƝçıçd×⁾¤o‘b50U+Ø0U‘Œṙṁ1xⱮ“&ðẏṪ¶ẏ×Ṙ⁷Ƈ⁾1Ẓṁn#’b64¤¤ị“ *#.-”Y

Try it online!Try it online!

Full explanation to follow, but usesUses a combination of run-length encoding and replacement of common length-2 sequences with a single digit. Does not use any standard compression library like gzip. Overall has 182 bytes of compressed data and 4443 of code.

Explanation

Step 1: replace values in the data between 17 and 26 with prestored pairs of bytes

“¤...Ɲ‘                     | Base-250 integer list 3, 21, 26, 19, 26, 100, 100, 24, 100, 209, 101, 154, 100, 151, 152, 100, 100, 153, 100, 150
       s2                   | Split into twos
             ¤ż             | Zip the following as a nilad with this:
         ⁵                  | - 10
          +€⁴               | - Add 16 to implicit range from 1 to 10
             Ẏ              | Tighten (join outermost lists)
                   ƒ“Ç...o‘ | Reduce using the following, and starting with the base-250 integer list 14, 61, 14, 103, 153, 26, 12, 23, 102, 154, 101, 153, 12, 102, 156, 105, 13, 102, 11, 102, 15, 160, 14, 20, 9, 20, 14, 101, 50, 106, 16, 18, 9, 18, 11, 103, 56, 105, 12, 18, 9, 18, 10, 24, 52, 150, 53, 150, 50, 102, 153, 9, 20, 9, 20, 10, 153, 59, 22, 10, 102, 11, 102, 10, 153, 53, 3, 54, 153, 12, 103, 7, 103, 10, 105, 7, 149, 118, 24, 155, 26, 101, 24, 155, 26, 101, 24, 155, 26, 101, 217, 143, 217, 101, 151, 25, 25, 101, 151, 25, 25, 101, 151, 25, 25, 149, 112, 17, 22, 100, 155, 22, 100, 155, 22, 100, 155, 100, 17, 142, 17, 101, 150, 23, 25, 23, 101, 150, 23, 25, 23, 101, 150, 23, 25, 23, 100, 17, 142, 3, 111
                  ƭ         | - Alternate between:
                ṣ           |   - Splitting
                 j          |   - And joining

Step 2: Run-length decode and convert to string

b50                                 | Convert to base 50
   U                                | Reverse order of bytes
    +Ø0                             | Add 0,0
       U                            | Reverse order again (effectively the last three links add in leading zeros where needed)
        ‘                           | Increment by 1
         Œṙ                         | Run length decode
           ṁ            ¤           | Mould like the following as a nilad:
            1xⱮ        ¤            | - 1 repeated each of the following as a nilad:
             “&...#’                |   - Base-250 integer 36418435425519061363927141799858777786
                    b64             |   - Convert to base 64
                         ị“ *#.-”   | Index into " *#.-"
                                 Y  | Join ith newlines

Jelly, 235 226 bytes

“¤ßȷŒȷddðdẎeȤdƤƬddƲdƝ‘s2⁵+€⁴¤żẎœṣjƭƒ“Ç=ÇgƲȷ€çfȤeƲ€fƈiÆf¿fÐɦÇÞµÞÇe2jÑصؿg8i€ØµØ½ð4Ɲ5Ɲ2fƲµÞµÞ½Ʋ;æ½f¿f½Ʋ5¤6Ʋ€g¬g½i¬ⱮvðɓȷeðɓȷeðɓȷeḳƁḳeƤııeƤııeƤııⱮp×ædɓædɓædɓd×⁾×eƝçıçeƝçıçeƝçıçd×⁾¤o‘b50U+Ø0U‘Œṙṁ1xⱮ“&ðẏṪ¶ẏ×Ṙ⁷Ƈ⁾1Ẓṁn#’b64¤¤ị“ *#.-”Y

Try it online!

Full explanation to follow, but uses a combination of run-length encoding and replacement of common length-2 sequences with a single digit. Does not use any standard compression library like gzip. Overall has 182 bytes of compressed data and 44 of code.

Jelly, 235 225 bytes

“¤ßȷŒȷddðdẎeȤdƤƬddƲdƝ‘s2⁵+€⁴¤żẎṣjƭƒ“Ç=ÇgƲȷ€çfȤeƲ€fƈiÆf¿fÐɦÇÞµÞÇe2jÑصؿg8i€ØµØ½ð4Ɲ5Ɲ2fƲµÞµÞ½Ʋ;æ½f¿f½Ʋ5¤6Ʋ€g¬g½i¬ⱮvðɓȷeðɓȷeðɓȷeḳƁḳeƤııeƤııeƤııⱮp×ædɓædɓædɓd×⁾×eƝçıçeƝçıçeƝçıçd×⁾¤o‘b50U+Ø0U‘Œṙṁ1xⱮ“&ðẏṪ¶ẏ×Ṙ⁷Ƈ⁾1Ẓṁn#’b64¤¤ị“ *#.-”Y

Try it online!

Uses a combination of run-length encoding and replacement of common length-2 sequences with a single digit. Does not use any standard compression library like gzip. Overall has 182 bytes of compressed data and 43 of code.

Explanation

Step 1: replace values in the data between 17 and 26 with prestored pairs of bytes

“¤...Ɲ‘                     | Base-250 integer list 3, 21, 26, 19, 26, 100, 100, 24, 100, 209, 101, 154, 100, 151, 152, 100, 100, 153, 100, 150
       s2                   | Split into twos
             ¤ż             | Zip the following as a nilad with this:
         ⁵                  | - 10
          +€⁴               | - Add 16 to implicit range from 1 to 10
             Ẏ              | Tighten (join outermost lists)
                   ƒ“Ç...o‘ | Reduce using the following, and starting with the base-250 integer list 14, 61, 14, 103, 153, 26, 12, 23, 102, 154, 101, 153, 12, 102, 156, 105, 13, 102, 11, 102, 15, 160, 14, 20, 9, 20, 14, 101, 50, 106, 16, 18, 9, 18, 11, 103, 56, 105, 12, 18, 9, 18, 10, 24, 52, 150, 53, 150, 50, 102, 153, 9, 20, 9, 20, 10, 153, 59, 22, 10, 102, 11, 102, 10, 153, 53, 3, 54, 153, 12, 103, 7, 103, 10, 105, 7, 149, 118, 24, 155, 26, 101, 24, 155, 26, 101, 24, 155, 26, 101, 217, 143, 217, 101, 151, 25, 25, 101, 151, 25, 25, 101, 151, 25, 25, 149, 112, 17, 22, 100, 155, 22, 100, 155, 22, 100, 155, 100, 17, 142, 17, 101, 150, 23, 25, 23, 101, 150, 23, 25, 23, 101, 150, 23, 25, 23, 100, 17, 142, 3, 111
                  ƭ         | - Alternate between:
                ṣ           |   - Splitting
                 j          |   - And joining

Step 2: Run-length decode and convert to string

b50                                 | Convert to base 50
   U                                | Reverse order of bytes
    +Ø0                             | Add 0,0
       U                            | Reverse order again (effectively the last three links add in leading zeros where needed)
        ‘                           | Increment by 1
         Œṙ                         | Run length decode
           ṁ            ¤           | Mould like the following as a nilad:
            1xⱮ        ¤            | - 1 repeated each of the following as a nilad:
             “&...#’                |   - Base-250 integer 36418435425519061363927141799858777786
                    b64             |   - Convert to base 64
                         ị“ *#.-”   | Index into " *#.-"
                                 Y  | Join ith newlines
deleted 52 characters in body
Source Link
Nick Kennedy
  • 21.2k
  • 3
  • 17
  • 43

Jelly, 235 226 bytes

“¤ßȷŒȷddðdẎeȤdƤƬddƲdƝ‘s2⁵+€⁴¤żẎœṣjƭƒ“Ç=ÇgƲȷ€çfȤeƲ€fƈiÆf¿fÐɦÇÞµÞÇe2jÑصؿg8i€ØµØ½ð4Ɲ5Ɲ2fƲµÞµÞ½Ʋ;æ½f¿f½Ʋ5¤6Ʋ€g¬g½i¬ⱮvðɓȷeðɓȷeðɓȷeḳƁḳeƤııeƤııeƤııⱮp×ædɓædɓædɓd×⁾×eƝçıçeƝçıçeƝçıçd×⁾¤o‘b50U+Ø0U‘Œṙṁ1xⱮ“&ðẏṪ¶ẏ×Ṙ⁷Ƈ⁾1Ẓṁn#’b64¤¤ị“ *#.-”Y

Try it online!Try it online!

Full explanation to follow, but uses a combination of run-length encoding and replacement of common length-2 sequences with a single digit. Does not use any standard compression library like gzip. Overall has 182 bytes of compressed data and 44 of code.

Jelly, 235 226 bytes

“¤ßȷŒȷddðdẎeȤdƤƬddƲdƝ‘s2⁵+€⁴¤żẎœṣjƭƒ“Ç=ÇgƲȷ€çfȤeƲ€fƈiÆf¿fÐɦÇÞµÞÇe2jÑصؿg8i€ØµØ½ð4Ɲ5Ɲ2fƲµÞµÞ½Ʋ;æ½f¿f½Ʋ5¤6Ʋ€g¬g½i¬ⱮvðɓȷeðɓȷeðɓȷeḳƁḳeƤııeƤııeƤııⱮp×ædɓædɓædɓd×⁾×eƝçıçeƝçıçeƝçıçd×⁾¤o‘b50U+Ø0U‘Œṙṁ1xⱮ“&ðẏṪ¶ẏ×Ṙ⁷Ƈ⁾1Ẓṁn#’b64¤¤ị“ *#.-”Y

Try it online!

Full explanation to follow, but uses a combination of run-length encoding and replacement of common length-2 sequences with a single digit. Does not use any standard compression library like gzip. Overall has 182 bytes of compressed data and 44 of code.

Jelly, 235 226 bytes

“¤ßȷŒȷddðdẎeȤdƤƬddƲdƝ‘s2⁵+€⁴¤żẎœṣjƭƒ“Ç=ÇgƲȷ€çfȤeƲ€fƈiÆf¿fÐɦÇÞµÞÇe2jÑصؿg8i€ØµØ½ð4Ɲ5Ɲ2fƲµÞµÞ½Ʋ;æ½f¿f½Ʋ5¤6Ʋ€g¬g½i¬ⱮvðɓȷeðɓȷeðɓȷeḳƁḳeƤııeƤııeƤııⱮp×ædɓædɓædɓd×⁾×eƝçıçeƝçıçeƝçıçd×⁾¤o‘b50U+Ø0U‘Œṙṁ1xⱮ“&ðẏṪ¶ẏ×Ṙ⁷Ƈ⁾1Ẓṁn#’b64¤¤ị“ *#.-”Y

Try it online!

Full explanation to follow, but uses a combination of run-length encoding and replacement of common length-2 sequences with a single digit. Does not use any standard compression library like gzip. Overall has 182 bytes of compressed data and 44 of code.

added 41 characters in body
Source Link
Nick Kennedy
  • 21.2k
  • 3
  • 17
  • 43
Loading
Source Link
Nick Kennedy
  • 21.2k
  • 3
  • 17
  • 43
Loading