Files
ioccc/2012/konno
Landon Curt Noll 0833c3e4f0 fix how bin tools sort
We set LC_ALL=C when sorting in a bin tool.  This was done
to make the result of using `sort(1)` consistent.

Improved how the Primary files and Secondary files are
sorted by `bin/output-index-inventory.sh` to sort
with "-u -k 1n -k 3.2d".

The above will change `index.html` files for all entries.

Changed `bin/chk-entry.sh` VERSION from "1.1.2 2024-03-17"
to "1.1.3 2024-03-18".

Changed `bin/gen-authors.sh` VERSION from "1.3 2024-03-04"
to "1.3.1 2024-03-18".

Changed `bin/gen-location.sh` VERSION from "1.1 2024-03-04"
to "1.1.1 2024-03-18".

Changed `bin/gen-sitemap.sh` VERSION from "1.3 2024-03-16"
to "1.3.1 2024-03-18".

Changed `bin/output-index-inventory.sh` VERSION from "1.2 2024-02-27"
to "1.2.1 2024-03-18".

Changed `bin/pandoc-wrapper.sh` VERSION from "1.5 2024-03-18"
to "1.5.1 2024-03-18".

Changed `bin/sort.gitignore.sh` VERSION from "1.1.1 2024-02-23"
to "1.1.2 2024-03-18".

Changed `bin/tar-all.sh` VERSION from "1.1 2024-02-27"
to "1.1.1 2024-03-18".

Changed `bin/tar-year.sh` VERSION from "1.1 2024-02-27"
to "1.1.1 2024-03-18".

Performed `make www` to update all entry `index.html` files.
2024-03-18 02:43:03 -07:00
..
2024-02-27 23:21:32 -08:00
2024-03-18 02:43:03 -07:00
2020-12-30 16:57:03 -08:00
2023-07-06 21:49:38 -07:00
2024-01-26 10:32:17 -08:00
2024-02-23 08:52:56 -08:00

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.

This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved. You are free to share and adapt this file under the terms of this license:

Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)

For more information, see: https://creativecommons.org/licenses/by-sa/4.0/