Prepare for the winners of **IOCCC28**. > However these are not the 2024 droids you are looking for. :-) The HTML menu (both JavaScript and non-JavaScript) has been updated. The `Status -> Rules and guidelines' have been replaced with two separate menus `Status -> IOCCC rules` and `Status -> IOCCC guidelines`. Added a new top level `social.html` page: built from a new `social.md`. Sorted rules for building specific web pages in the top level `Makefile`. Added `make social` to make the `social.html` page from `social.md`. The `bin/gen-top-html.sh` now is able to process a argument of **social** to process the new top level `social.html` page. Changed `bin/gen-top-html.sh` VERSION from "2.0.0 2025-03-13" to "2.0.1 2025-07-25". Below `About -> Home page` a new `About -> IOCCC social media` menu item as added. Because the menu change touched every HTML file, we changed the general copyright date range for HTML files from "1984-2024" to "1984-2025" due to the extensive changes made for **IOCCC28**. Those markdown files that were modified in 2025 had their copyright date range also changed from "1984-2024" to "1984-2025". Rebuilt tarballs and sitemap due to the extensive HTML rebuilding. Ran `make update` to perform the above.
To build:
make
There is an unobfuscated version of this entry. See Alternate code below.
To use:
./konno N
Try:
./try.sh
# you can also specify numbers to try before the random and preselected ones:
./try.sh 111 222 333 444 555 666 777 888 999
Try running try.sh a number of times as the first part randomly selects ten numbers to try.
Alternate code:
An alternate version of this entry, konno.alt.c, is provided. This alternate code is an unobfuscated version of the winning code.
Alternate build:
make alt
Alternate use:
Use konno.alt as you would konno above.
Judges' remarks:
This entry is a good one-liner to analyze completely.
For extra credit, what are the minimal changes to convert it to 64-bit integers so that it could print 32 lines?
Author's remarks:
Remarks
This program outputs elementary cellular automaton patterns.
Try:
./konno 30
./konno 90
./konno 102
./konno 109
./konno 165
There are 256 (from 0 through 255) possible rules.
Obfuscation
This program uses bit operations. I think
7&O<<!o>>!o+29
is an interesting operation. This isn't equal to
7&O>>29
operation. What is the operation doing?
Limitation
This program assumes that the size of int is 4.