寄生数

数学において、*n*-**寄生数**（n-parasitic number）（基数10）とは、正の自然数のうち、*n*を掛けることでその十進表記の最後の数字が先頭に移動するものを指す。ここで、*n*は1桁の正の自然数である。つまり、十進表記が1桁分右回りに循環シフトされる。  

例えば、  
4 × 128205 = 512820 となるので、128205は4-寄生数である。  

なお、多くの数学者は先頭にゼロを許容しないという慣例に従っている。  

したがって、4 × 25641 = 102564 となるが、25641は4-寄生数ではない。

## 導出

*n-寄生数*は、最も右の桁（1の位）に *k* という数字（*n* 以上の値）を置き、1桁ずつ増やしながら求めることができる。  

例えば、*n = 4*、*k = 7*の場合：

:4&nbsp;×&nbsp;7 = 2**8**
:4&nbsp;×&nbsp;**8**7 = 3**48**
:4&nbsp;×&nbsp;**48**7 = 1**948**
:4&nbsp;×&nbsp;**948**7 = 3**7948**
:4&nbsp;×&nbsp;**7948**7 = 3**17948**
:4&nbsp;×&nbsp;**17948**7 = **717948**.

したがって、*179487*は*4-寄生数*であり、1の位が*7*となっている。他にも *179487179487*や*179487179487179487*などがある。  

これは循環小数との関係に似ている。

:x=0.179487179487179487\ldots=0.\overline{179487}  つまり 4x=0.\overline{717948}=\frac{7.\overline{179487}}{10}.

これはこのように表せる。

:4x=\frac{7+x}{10}  つまり  x=\frac{7}{39}.

一般に、*n-寄生数*は次のように求められる。  
1桁の整数 *k* を選び、 となるようにする。  
その上で、循環小数 *k*/(10*n*−1) の周期を求める。  
この周期の長さを *m* とすると、求める数は  \frac{k}{10n-1}(10^m-1) で与えられる。
ここで *m* はこの周期の長さ、すなわち *10* の  における乗法的位数である。

別の例で、*n* = 2 の場合、10*n* − 1 = 19と1/19 の繰り返し小数は  

\frac{1}{19}=0.\overline{052631578947368421}.

したがって、2/19 の繰り返し小数はその2倍になる

\frac{2}{19}=0.\overline{105263157894736842}.

この周期の長さ *m* は 18 であり、これは 10 の *mod 19* における乗法的位数と一致するため、 = 105263157894736842。
105263157894736842 × 2 = 210526315789473684 となり、最後の桁が先頭に移動することが確認できる。

### 追加情報

上で導いた導出アルゴリズムは素晴らしい技術だが、すべてのn-寄生数を見つけることはできない。導出された数が導出元と等しくなると、無限ループに陥ってしまう。
この例では、n = 5でk = 5の場合に発生する。
導出される42桁のn進数は102040816326530612244897959183673469387755である。以下の表1のステップを確認する。
アルゴリズムはステップ15に達するまで右から左へ構築し始め、その後無限ループが発生する。16行目と17行目は、何も変化がないことを示すために描かれている。この問題には修正法があり、これを適用すると、アルゴリズムは基数10のすべての*n*個の寄生数を見つけるだけでなく、基数8と基数16でも見つけることができる。表2の15行目を見ると、この条件が特定され、*n*-寄生数が見つからなかった場合の修正は、乗算から積をシフトせず、そのまま使用し、最後に*n*（この場合は5）を追加するだけである。42ステップの後、適切な寄生数が見つかる。

### 表１

### 表２

このアルゴリズムで作業する際に注意しなければならない条件がもう1つある。シフト番号が作成されるとき、先頭のゼロが含まれていることがあり、これは位置的に重要であり、次のステップに持ち越さないといけない。電卓やコンピュータの計算方法では、先頭のゼロは取り除かれる。以下の表3は、*n*&nbsp;=&nbsp;4と*k*&nbsp;=&nbsp;4の導出ステップを表示したものである。ステップ4で作成されたシフト数 02564には先頭のゼロがあり、これがステップ5に入力されて先頭ゼロ積が作成される。結果のShiftはステップ6に送られ、4で終わる4-寄生数が102564であることを証明する積が表示される。

### 表３

## 最小の''n''-寄生数

最小の*n*-寄生数は、フリーマン・ダイソンによって提起されたこれらの数に関するパズルにちなんで、**ダイソン数**とも呼ばれる(先頭のゼロは不可)。  

## 一般的な注意
一般に、規則を緩和して先頭の0を許容する場合、各*n*に対して9個の*n*-寄生数が存在する。そうでない場合は、*k*≧*n*である場合のみ、数はゼロから始まらないので、実際の定義に合う。

他の*n*-寄生整数は連結して作ることができる。例えば、179487は4-寄生数なので、179487179487、179487179487 などとなる。

## その他の基数

十進法では、最小の*n*進数は以下のようになる： (それぞれ10と11を表す2と3を反転して使用）（先頭のゼロは許されない）

## 厳密な定義
厳密な定義では、*m*の左端の桁1を右端にシフトするだけで商*m*/*n*が得られるような、1から始まる最小の数*m*は以下の通りである。
:1, 105263157894736842, 1034482758620689655172413793, 102564, 102040816326530612244897959183673469387755, 1016949152542372881355932203389830508474576271186440677966, 1014492753623188405797, 1012658227848, 10112359550561797752808988764044943820224719, 10, 100917431192660550458715596330275229357798165137614678899082568807339449541284403669724770642201834862385321, 100840336134453781512605042016806722689075630252, ... 。

これらは*n*/(10*n*-1)の周期であり、10進整数の周期でもある。-n*/(10*n* - 1)の周期でもある。

それらの桁数は
:1, 18, 28, 6, 42, 58, 22, 13, 44, 2, 108, 48, 21, 46, 148, 13, 78, 178, 6, 99, 18, 8, 228, 7, 41, 6, 268, 15, 272, 66, 34, 28, 138, 112, 116, 179, 5, 378, 388, 18, 204, 418, 6, 219, 32, 48, 66, 239, 81, 498, ... 。

== 関連項目 ==
* [[巡回数]]
* [[線形帰還シフトレジスタ]]
* [[転置可能な整数]]


== 注釈 ==


== 参考文献 ==
* [[Clifford A. Pickover|C. A. Pickover]], *Wonders of Numbers'', Chapter 28, Oxford University Press UK, 2000.
* Sequence  in the On-Line Encyclopedia of Integer Sequences.
*