Skip to content

Factorial Number System

A mixed-radix positional representation with factorial place values and digit bound 0 through i at the i-factorial place, giving every nonnegative integer a unique expansion and a natural rank/unrank bridge to permutations.

Version
v4 · 2026-09-19 · History
Domain-specific #
1820
Domain group
Formal Sciences
Origin domain
Mathematics
Subdomain
Combinatorial Enumeration → Mathematics
Aliases
Factoradic, Factorial base, Factorial representation, Factorial radix system

Core Idea

The Factorial Number System, or factoradic representation, is a mixed-radix positional system in which the digit at place (i) has weight (i!) and is restricted to

\[ 0\le a_i\le i. \]

Every nonnegative integer (N) has a unique finite representation

\[ N=\sum_{i=0}^{m}a_i i!. \]

The (0!) digit is necessarily zero; the (1!) digit is 0 or 1; the (2!) digit is 0, 1, or 2; and so on. Thus the successive digit radices are \(1,2,3,\ldots\), not one repeated base. “Factorial base” is conventional shorthand, but factorials are place values and the system is genuinely mixed-radix.

How would you explain it like I'm…

Growing Cups Counting

Picture a row of cups for counting. The first cup is always empty. The next cup can hold up to 1 bead, the next up to 2, the next up to 3, and each new cup can hold one more. When a cup gets too full, you empty it and add a bead to the next cup. That way every number has exactly one way to be shown.

Factorial Place-Value Counting

In normal counting, every place is worth 10 times the place before it. In the factorial number system, the places are worth 1, 1, 2, 6, 24, and so on: 0!, 1!, 2!, 3!, 4!. Each place has its own biggest digit. The 1! place can only be 0 or 1, the 2! place can be 0, 1 or 2, and so on. For example, 5 is written 210, because 2×2 + 1×1 + 0 = 5. Every whole number has exactly one way to be written like this.

Mixed-Radix Factoradic System

The factorial number system (factoradic) is a mixed-radix positional system: the digit at place i is worth i! and must satisfy 0 ≤ a_i ≤ i. So the first digit (weight 0!) is always 0, the next (weight 1!) is 0 or 1, the next (weight 2!) is 0–2, and so on. Unlike decimal, there is no single base; the radices are 1, 2, 3, … one after another. The limits fit perfectly because all lower digits at their maximum add up to exactly one less than the next place value, which gives the carry rule and makes every nonnegative integer's representation unique. The same digit pattern matches the shrinking number of choices when building a permutation, so the digits can pick out a specific ordering.

 

The factorial number system represents a nonnegative integer as N = Σ a_i i!, with digit constraint 0 ≤ a_i ≤ i. It is genuinely mixed-radix: place values are factorials, and the radix at successive positions is 1, 2, 3, …, so 'factorial base' is only shorthand. The 0! digit is forced to be 0. The key identity Σ_{i=0}^{m} i·i! = (m+1)! − 1 shows that maxing out every lower digit gives exactly one less than the next place value; this yields the carry rule and proves every N has a unique finite representation. Because the digit bounds mirror the number of remaining choices at each step of building a permutation, for N < n! the digits can be read as a Lehmer code. That code selects the N-th permutation of n ordered elements in lexicographic order.

Scope of Application

The main application is ranking and unranking finite permutations. There are exactly (n!) permutations of (n) distinct elements and exactly (n!) digit vectors satisfying \(0\le a_i\le i\) for \(i=0,\ldots,n-1\). Interpreting the digits as successive indices into a shrinking ordered list gives a bijection between integers \(0,\ldots,n!-1\) and permutations.

The representation also appears in combinatorial generation, exhaustive search, state indexing for puzzles, compact serialization of orderings, random-permutation selection from an integer rank, and proofs involving mixed-radix enumeration.

Clarity

Indexing conventions cause most confusion. In this draft, (a_i) multiplies (i!) and ranges from 0 through (i). A written digit string \(a_m:a_{m-1}:\cdots:a_0\) therefore has (a_0=0). Some treatments omit the always-zero (0!) place or describe the (i)-th position using one-based indices. Equations should accompany notation.

Manages Complexity

The system aligns numeric capacity with combinatorial branching. At the first choice of an (n)-element permutation there are (n) possibilities; after one selection there are (n-1); the process continues to one. Factoradic digits have exactly those successive ranges. This removes wasted codes and makes every valid digit vector correspond to one permutation.

Abstract Reasoning

To represent an integer:

  1. Set the current radix to 1 and current value to (N).
  2. record the remainder under the current radix as the next digit.
  3. replace the value with the quotient and increment the radix.
  4. stop after the quotient becomes zero.
  5. read the digits from most significant to least and verify \(0\le a_i\le i\).

Knowledge Transfer

The mixed-radix method transfers literally to time units, calendar fields, and other systems where successive place capacities differ. The general design principle is to match each digit radix to the branching factor remaining at that stage.

The permutation correspondence transfers to other combinatorial classes only when their recursive counts support an appropriate ranking decomposition. Combinatorial number systems for subsets and Catalan-family rankings use analogous capacity-matched digits but not factorial place values; calling them factoradic would erase their different recurrence.

Relationships to Other Abstractions

Local relationship map for Factorial Number SystemParents appear above the current abstraction, mutual partners to the right, and children below. Node labels state whether each abstraction is prime or domain-specific; colors identify relation types.FactorialNumber SystemDOMAINPrime abstraction: Representation — is a kind ofRepresentationPRIME

Current abstraction Factorial Number System Domain-specific

Parents (1) — outgoing typed relations

  • Factorial Number System is a kind of Representation Prime

    Representation is the broader abstraction this entry instantiates.

Hierarchy path (1) — routes to 1 parentless root

Neighborhood in Abstraction Space

Factorial Number System sits in a sparse region of the domain-specific corpus (75th percentile for distinctiveness): few abstractions share its structure, so a faithful description tends to retrieve it precisely.

Family — Unclustered & Miscellaneous (2769 abstractions)

Nearest neighbors

Computed from structural-signature embeddings · 2026-10-25