fix Makefile and README.md for 2000/natori

There was an attempt to get natori.c to compile.
We moved the 2 includes to the compile line
restoring the code as a 1-liner.

We forced the types of args iun main to conform to
bogons introduced by the ANSI-C committee.

Nevertheless, the code still fails to compile:

    assignment to cast is illegal, lvalue casts are not supported

This will be a TODO fix for later.
This commit is contained in:
Landon Curt Noll committed 2023-03-15 12:32:32 -07:00
1 parent f408bd1fd8
commit 6f14abe4aa
3 files changed
+332 -208

No files matched your search

+33 -19
View File
@@ -1,31 +1,45 @@
Best Small Program:
# Best Small Program:
NATORI Shin
Univ. of Tokyo
Rigakubu 7-goukan 311
Hongou 7-3-1, Bunkyou-ku, Tokyo
Japan
NATORI Shin
Univ. of Tokyo
Rigakubu 7-goukan 311
Hongou 7-3-1, Bunkyou-ku, Tokyo
Japan
# To build:
Judges' Comments:
```sh
make
```
To build:
### To run:
make natori
```sh
./natori
```
To run:
### Try:
./natori
```sh
echo "Do or do not. There is no try."
```
Here is a nice compact program that changes with the phase of the moon.
Can you figure out how it does it?
## Judges' comments:
Here is a nice compact program that changes with the phase of the moon.
Can you figure out how it does it?
Selected Author's Comments:
The ANSI-C committee, among their multiple misdeeds, broke perfectly
fun C programs by making it intractable for them to declare their
own non-traditional prototype for main(). We have had uglify this
program in order to try and prevent C compilers form failing to
compile due to the unusual arg types of the main() function.
This program outputs a rough image of the moon in its current phase.
The main obfuscation of this entry is its complicated double recursion
(without any loop or conditional statement).
## Author's comments:
People living in the southern hemisphere may want to change acos(l/2)
into acos(-l/2).
This program outputs a rough image of the moon in its current phase.
The main obfuscation of this entry is its complicated double recursion
(without any loop or conditional statement).
People living in the southern hemisphere may want to change acos(l/2)
into acos(-l/2).