Item 70, The chess problem "stolen from Chess for Fun, Chess for Blood" by Lasker is problem 66 from that book [1]. The problem as stated in the memo is wrong: the white bishop is on the eighth rank, not the seventh, so it should say Bishop on KB8, not on KB7. The problem in FEN is then:
5B2/6P1/1p6/8/1N6/kP6/2K5/8 w - - 1 1
The version from Lasker's book is much more interesting. It happens that the version from HAKMEM is also a mate-in-3, but kind of a mundane one, relative to Lasker's anyway.
It's worth mentioning that many aspects of HAKMEM have found their way into "Hacker's Delight", one of the more impressive CS books ever published IMHO.
I wouldn't call it a computer science book. It's certainly one of the most impressive programming books, though. These days I do most of my program in languages like Lisp and Python and I am a bit sad that I don't get to apply the bit fiddling type hacks found in that book.
Yes. The key to that is approximating reals by the second Ostrogradsky series (or, more properly, Ostrogradsky-Sierpiński series): x = ⎣x⎦ + 1/q₁ − 1/q₂ + 1/q₃ - 1/q₄ + ⋯, where the denominators qₖ are greedily chosen as the largest possible. The following formulas are true: exp(1/q) = [1; q−1, 1, 1, 3q−1, 1, 1, 5q-1,…], exp(x + y) = exp(x)exp(y), and exp(x - y) = exp(x)/exp(y).
The algorithm keeps two most recent partial sums of the O-S series: sₖ₋₁ and sₖ. As long as the partial quotients of exp(sₖ₋₁) and exp(sₖ) are equal, it emits them; otherwise, it computes the next partial sum sₖ₊₁. Similar formulas work for tan(x).
Interestingly, there's not only theorems but also conjectures in this list.
Interesting bit:
> ITEM 125 (Polya):
> CONJECTURE: If a function has a power series with integer coefficients and radius of convergence 1, then either the function is rational or the unit circle is a natural boundary.
This is a classic. IMHO, HAKMEM should be required reading for everyone who programs computers. Likewise, everyone should own and read Hank Warren's Hackers Delight. For advanced practitioners, Knuth's Art of Computer Programming (particularly Volume 4) has some similar material. All explore the deep relationship between mathematics and programming.
Item 1 (expressing (p/q)! in terms of other (p/q)!) has no general solution still, as far as I know, but can easily be handled empirically for medium-sized n with the PSLQ algorithm.
Item 96 ("Solve go") can be made tractable by setting the board size to n=2.
Item 96 ("Solve go") can be made tractable by setting the board size to n=2.
At first I thought this was an "assume a spherical cow"-style joke, but no, it turns out there are 386 billion possible games you can play on a 2x2 Go board:
5B2/6P1/1p6/8/1N6/kP6/2K5/8 w - - 1 1
The version from Lasker's book is much more interesting. It happens that the version from HAKMEM is also a mate-in-3, but kind of a mundane one, relative to Lasker's anyway.
[1] Lasker's book is on Google Books, and you can see the relevant page (page 145) https://books.google.ca/books?id=y90UTQeLeeIC&pg=PA145 (spoiler: the solution is described on that page).