Yup, the 1620. More specifically, the 1620 Model I. Later versions
of the machine didn't require in-memory tables to do arithmetic. But
the original version required at least the addition table and, if
multiply was used, the multiplication table. This was a decimal
machine, addressed by digit, with 6 bits per digit (8421+word
mark+parity). Core was 12 bits wide, with odd-even locations in the
same word.
The neat thing is that the 1620 was a variable-word-length machine;
numbers were addressed by the location of their least significant
digit and terminated by the occurrence of a work mark on the most
significant digit (a word mark on the least signficant signified a
negative number). Records were addressed by the lowest address
position and terminated by a record mark.
One could manipulate numbers with thousands of digits with no
particular special programming effort. Or, one could alter the
arithmetic tables to do arithmetic in a different radix (sometimes
this happened accidentally). Clearing memory was a matter only one
instruction.
A machine that was great fun, if not glacially slow. Dijkstra hated
it.
Here's a sample program:
http://99-bottles-of-beer.net/language-ibm-1620-sps-916.html
Cheers,
Chuck