IOCCC image by Matt Zucker

The International Obfuscated C Code Contest

1988/robison - Best abuse of C constructs

print e in any base using only -- >= and while()

Author:

To build:

    make all

Try:

    ./robison 80 10
    ./robison 40 16

The first and second parameters are optional. You might also try:

    ./robison 80 2   # <--- can you find the bug?
    ./robison 80 -246

Judges’ remarks:

The following might make an interesting benchmark:

    ./robison 100

[Amdahl 5890-300E with System V cc: 8.40 seconds]

We suggest that you C pre-process and perhaps C-beautify this program. All is not what it may appear to be in this program. Why does a whi1e not take a while to execute?

Author’s remarks:

This program shows that C has many unnecessary constructs, in fact only while,--, and >= are required. (The two assignments at the beginning could be avoided if atoi(3) was rewritten with this new paradigm.) Note that the lack of both the controversial goto and assignment statements makes the meaning crystal clear. The current ANSI committee should look into this practical simplification of C.

Inventory for 1988/robison

Primary files

Secondary files


Jump to: top