定義
OEIS A006345の説明から:
見つける
a(n)には、1またはのいずれかを検討してください2。それぞれについて、最も長い繰り返しの接尾辞を見つけます。つまり、それぞれについてa(n)=1,2、sシーケンスがでa(1),...,a(n)終わるプロパティを持つ最も長いシーケンスを見つけますss。そのような接尾辞が短くなる数字を使用します。a(1) = 1。
完成した例
a(1)=1。
の場合a(2)=1、1 1最後から2倍になった部分文字列が最も長いシーケンスになり1ます。場合はa(2)=2代わりに、それは空のストリングになります。したがってa(2)=2。
ときn=6、我々は、のいずれかを選択1 2 1 1 2 1して1 2 1 1 2 2。最初の選択肢で1 2 1は、末尾から連続して2倍になります。2番目の選択肢では、2代わりになります。したがって、a(6)=2。
ときn=9、我々は、のいずれかを選択1 2 1 1 2 2 1 2 1 して1 2 1 1 2 2 1 2 2。最初の選択肢では、最長の2倍連続部分文字列はですが2 1、2番目の選択肢で1 2 2は、最後に連続して2倍になります。したがってa(9)=1。
仕事
与えられたn、戻りa(n)ます。
スペック
nポジティブになります。- 1インデックスの代わりに0インデックスを使用できます。その場合は、回答にその旨を明記してください。また、その場合、
nすること0もできます。
テストケース
テストケースは1から始まります。ただし、0インデックスを使用できます。
n a(n)
1 1
2 2
3 1
4 1
5 2
6 2
7 1
8 2
9 1
10 1
11 2
12 1
13 2
14 2
15 1
16 1
17 2
18 1
19 1
20 1
n=9は、最初の選択肢の最後に1 2 1 1 2 2 1 2 1二重の部分文字列2 1があります。