寄生数

数学において、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 × 7 = 28
4 × 87 = 348
4 × 487 = 1948
4 × 9487 = 37948
4 × 79487 = 317948
4 × 179487 = 717948.

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

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

 つまり 

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

 つまり 

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

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

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

この周期の長さ 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. 5 × 5 = 25 − Shift = 55 2. 5 × 55 = 275 − Shift = 755 3. 5 × 755 = 3775 − Shift = 7755 4. 5 × 7755 = 38775 − Shift = 87755 5. 5 × 87755 = 438775 − Shift = 387755 6. 5 × 387755 = 1938775 − Shift = 9387755 7. 5 × 9387755 = 46938775 − Shift = 69387755 8. 5 × 69387755 = 346938775 − Shift = 469387755 9. 5 × 469387755 = 2346938775 − Shift = 3469387755 10. 5 × 3469387755 = 17346938775 − Shift = 73469387755 11. 5 × 73469387755 = 367346938775 − Shift = 673469387755 12. 5 × 673469387755 = 3367346938775 − Shift = 3673469387755 13. 5 × 3673469387755 = 18367346938775 − Shift = 83673469387755 14. 5 × 83673469387755 = 418367346938775 − Shift = 183673469387755 15. 5 × 183673469387755 = 918367346938775 − Shift = 183673469387755 16. 5 × 183673469387755 = 918367346938775 − Shift = 183673469387755 17. 5 × 183673469387755 = 918367346938775 − Shift = 183673469387755

 表２ 

 1. 5 × 5 = 25 − Shift = 55 2. 5 × 55 = 275 − Shift = 755 3. 5 × 755 = 3775 − Shift = 7755 4. 5 × 7755 = 38775 − Shift = 87755 5. 5 × 87755 = 438775 − Shift = 387755 6. 5 × 387755 = 1938775 − Shift = 9387755 7. 5 × 9387755 = 46938775 − Shift = 69387755 8. 5 × 69387755 = 346938775 − Shift = 469387755 9. 5 × 469387755 = 2346938775 − Shift = 3469387755 10. 5 × 3469387755 = 17346938775 − Shift = 73469387755 11. 5 × 73469387755 = 367346938775 − Shift = 673469387755 12. 5 × 673469387755 = 3367346938775 − Shift = 3673469387755 13. 5 × 3673469387755 = 18367346938775 − Shift = 83673469387755 14. 5 × 83673469387755 = 418367346938775 − Shift = 183673469387755 15. 5 × 183673469387755 = 918367346938775 − Shift = 9183673469387755 16. 5 × 9183673469387755 = 45918367346938775 − Shift = 59183673469387755 17. 5 × 59183673469387755 = 295918367346938775 − Shift = 959183673469387755

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

 表３ 

 1. 4 × 4 = 16 − Shift = 64 2. 4 × 64 = 256 − Shift = 564 3. 4 × 564 = 2256 − Shift = 2564 4. 4 × 2564 = 10256 − Shift = 02564 5. 4 × 02564 = 010256 − Shift = 102564 6. 4 × 102564 = 410256 − Shift = 102564

 最小のn-寄生数 

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

 n 最小のn-寄生数 桁数 周期 1 1 1 1/9 2 105263157894736842 18 2/19 3 1034482758620689655172413793 28 3/29 4 102564 6 4/39 5 142857 6 7/49 = 1/7 6 1016949152542372881355932203389830508474576271186440677966 58 6/59 7 1014492753623188405797 22 7/69 8 1012658227848 13 8/79 9 10112359550561797752808988764044943820224719 44 9/89

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

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

 その他の基数 

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

 n 最小のn-寄生数 桁数 周期 1 1 1 1/Ɛ 2 10631694842 Ɛ 2/1Ɛ 3 2497 4 7/2Ɛ = 1/5 4 10309236ᘔ88206164719544 1Ɛ 4/3Ɛ 5 1025355ᘔ9433073ᘔ458409919Ɛ715 25 5/4Ɛ 6 1020408142854ᘔ997732650ᘔ18346916306 2Ɛ 6/5Ɛ 7 101899Ɛ864406Ɛ33ᘔᘔ15423913745949305255Ɛ17 35 7/6Ɛ 8 131ᘔ8ᘔ 6 ᘔ/7Ɛ = 2/17 9 101419648634459Ɛ9384Ɛ26Ɛ533040547216ᘔ1155Ɛ3Ɛ12978ᘔ399 45 9/8Ɛ ᘔ 14Ɛ36429ᘔ7085792 14 12/9Ɛ = 2/15 Ɛ 1011235930336ᘔ53909ᘔ873Ɛ325819Ɛ9975055Ɛ54ᘔ3145ᘔ42694157078404491Ɛ 55 Ɛ/ᘔƐ

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

これらはn/(10n-1)の周期であり、10進整数の周期でもある。-n/(10n - 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, ... 。

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

 注釈 

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