阶乘进制

维基百科,自由的百科全书

组合数学中,阶乘进制又稱階乘數字系統是一種適用於編號排列混合底數英语Mixed radix进制數字系統。階乘本身不做為底數,而是做為进制的位數值。若將一個小於n!的數轉換成阶乘进制可以得到一個n位的序列,該序列可以轉換成n的直接排列方式,也可以用於莱默碼英语Lehmer code或作為逆序对[1];在前一種情況下,從整數到n排列的映射結果將n的排列按字典順序列出。康托尔研究了一般的混合底數係統。[2] 術語「階乘數字系統」(factorial number system)由高德纳使用[3]

例如3:4:1:0:1:0!代表354413021100,其值為:

= 3×5! + 4×4! + 1×3! + 0×2! + 1×1! + 0×0! 
= ((((3×5 + 4)×4 + 1)×3 + 0)×2 + 1)×1 + 0
=  46310.

參考文獻

  1. ^ Knuth, D. E., Volume 3: Sorting and Searching, The Art of Computer Programming, Addison-Wesley: 12, 1973, ISBN 0-201-89685-0 
  2. ^ Cantor, G., Zeitschrift für Mathematik und Physik 14, 1869 .
  3. ^ Knuth, D. E., Volume 2: Seminumerical Algorithms, The Art of Computer Programming 3rd, Addison-Wesley: 192, 1997, ISBN 0-201-89684-2 .