二進数としてエンコード
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/08/01 23:39 UTC 版)
「平方因子をもたない整数」の記事における「二進数としてエンコード」の解説
無平方数を無限積 ∏ n = 0 ∞ p n + 1 a n , a n ∈ { 0 , 1 } , and p n is the n th prime . {\displaystyle \prod _{n=0}^{\infty }{p_{n+1}}^{a_{n}},a_{n}\in \lbrace 0,1\rbrace ,{\text{ and }}p_{n}{\text{ is the }}n{\text{th prime}}.} として表現すれば、それらの a n {\displaystyle a_{n}} をとってそれらを二進数のビットとして使うことができる。すなわち ∑ n = 0 ∞ a n ⋅ 2 n {\displaystyle \sum _{n=0}^{\infty }{a_{n}}\cdot 2^{n}} 例えば、無平方数 42 は分解 2 × 3 × 7 をもち、無限積として表すと 21 · 31 · 50 · 71 · 110 · 130 · ...。したがって数 42 は二進列 ...001011 あるいは十進で11としてエンコードできる(二進数の桁は無限積の順番から逆になっていることに注意)。 すべての数の素因数分解は一意なので、無平方数のすべての二進エンコーディングも一意である。 逆もまた正しい。すべての正の整数は一意的な二進表現をもつので、このエンコーディングを逆にして一意的な無平方数にデコードすることができる。 再び例えば数 42 で、今回は単に正の整数として、始めれば、その二進表現は 101010 である。これをデコードすると20 · 31 · 50 · 71 · 110 · 131 = 3 × 7 × 13 = 273。 したがって無平方数を順番にエンコードするとすべての整数の集合の置換になる。 OEIS の A019565, A048672, A064273 を参照。
※この「二進数としてエンコード」の解説は、「平方因子をもたない整数」の解説の一部です。
「二進数としてエンコード」を含む「平方因子をもたない整数」の記事については、「平方因子をもたない整数」の概要を参照ください。
- 二進数としてエンコードのページへのリンク