見えない数字を生成する
部分文字列は、元の文字列の連続したセクションであるとしましょう。たとえばcat、の部分文字列ですconcatenate。適切な部分文字列は、元の文字列と等しくない部分文字列であると言います。たとえばconcatenate、サブストリングはサブストリングですconcatenateが、適切なサブストリングではありません。(単一の文字列には適切な部分文字列はありません) これらの用語を使用してシーケンスを定義します。このシーケンスのn番目の用語は、そのバイナリ表現の適切なサブストリングがシーケンス内の以前の用語のサブストリングではないような最小数になります。最初の用語は10です。 演習として、最初の5つの用語を生成します。私は物事を簡単にするためにバイナリで作業します。 最初の用語は10です。ので、11次の最小数は、唯一の適切なサブ有し、1またのサブストリングである10、11配列ではありません。 100しかし、適切なストリング含まない00のストリングではありません10ので100、私たちの次の用語です。次は、シーケンスに追加101する固有の適切なサブストリング01を110含み、次にシーケンスに11追加する新しい適切なサブストリングを含みます。 今、私たちは持っています 10, 100, 101, 110 111次のアップですが、それは唯一のサブストリングが含ま1や11用語を、それをしていないし。 1000ただし000、シーケンスへの追加が含まれます。 10進数の最初のカップルの用語を次に示します 2, 4, 5, 6, 8, 9, 10, 11, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 50, …