The Factorial Number System

```Our traditional radix number systems might be called "geometric"
because the denominations of successive "places" (columns) form a
geometric series, e.g., 1, 10, 100,...  Another interesting type of
number system is the "factorial system", where the denominations are
1, 2, 6, 24, 120, etc, and the nth digit is in the range from 0 to
n.  This works because of the identity

1*1! + 2*2! + 3*3! + ... + k*k!  =  (k+1)! - 1

This system is more "universal" than any particular geometric system
because it doesn't make use of any special "base".  Every number is
used as the base of one of the columns.  Of course, with this system
you need to keep inventing new digits to write larger numbers.  On the
other hand, with just digits 0-9 you can express numbers from 0 to
3628799.  It isn't inconceivable that the factorial system could have
been used by early cultures, but I don't know of such a case.  The
factorial system is somewhat inconvenient for computation, but no
more than, say, Roman numerals.

Of course, when specifying a number system it's necessary to state not
only the column denominations but also the allowable "coefficients"
(i.e., digits).  To give a "practical" system we normally require
that every integer can be expressed in one and only one way.  This
places some restrictions on our possible number systems.  With column
denominations of, say, 10;7;3;1 it would be difficult to achieve
uniqueness of expression, because the number 1000 would equal 110.
It might be possible (and interesting) to figure out a set of
constraints on the digits that would yield uniqueness and completeness
for this set of denominations.  I suppose we could simply state that
the "cannonical form" of any given number is the representation with
the fewest number of digits, or with the smallest sum of digits.

Taking exactly prime denominations, 1;2;3;5;7;11;13; etc, we could
define the proper form of any integer by the representation with the
least "base b" value, meaning that the proper form of the number n is

n = c0*1 + c1*2 + c2*3 + c3*5 + c4*7 + c5*11 + ...

where the coefficients c0, c1,... are all in the range 0,1,..b-1,
chosen such that

V(n) = c0*b^0 + c1*b^1 + c2*b^2 + c3*b^3 + c4*b^4 + ...

is minimized.
```