Files
ioccc/2024/kurdyukov4
Landon Curt Noll 59c01b4471 fix 2024/anders swap 2024/straadt
We swapped `2024/anders` and `2024/straadt` by accident.
Sorry (tm Canada 🇨🇦) about that!

We **SINCERELY APOLOGIZE** to both **Anders Kaare Straadt**
and **Sebastian Macke** for the mix up!

We normalized some of the `.gitignore` files for some
of the 2024 winning entries.

Rebuilt 2024 tar files.

Updated `sitemap.xml`.

Ran `make update` to perform the above.
2025-08-02 19:38:13 -07:00
..
2025-08-02 19:38:13 -07:00

To build:

    make all

Bugs and (Mis)features:

The current status of this entry is:

STATUS: known bug - please help us fix

For more detailed information see 2024/kurdyukov4 in bugs.html.

In fixing this bug you will come to a better appreciation of how the code was able to process random data files as large as 64K.

To use:

    ./prog < data > out.c

Try:

    ./try.sh

Judges' remarks:

This program assembles data from standard input and write C code on standard output:

    ./prog < input > out.c

When if you have the patience to compile and if your C compiler does not object, the resulting program when run:

    cc out.c -o out
    ./out > output

re-assemble the original input WITHOUT USING ANY LITERALS in the C code it produced!

You mind may go into a spiral as you attempt to read and understand how this is done. :-)

Author's remarks:

No Literals Encoder

This program creates C code that will output the specified data to stdout. There are no literals used in the generated code.

  • Binary data is supported.
  • If there was a lot of data on the input (even just 64KB), then compiling the generated code can be a good stress test for the compiler.
  • Why a spiral? I don't know, just because it looks cooler this way.