1

このインタビューの謎に遭遇したので、その正確な答えを知りたいです。

n ビット数の 2^n の異なるバイナリ シーケンスを生成できます。これらのシーケンスの中で、2 つの 1 が一緒になっているシーケンスは無効であると見なされます。

For example for N=3 sequences can be:
000 -> v 
001 -> v
010 -> v
011 -> iv
100 -> v
101 -> v
110 -> iv
111 -> iv       So output should be: 5

したがって、Nビット数が持つことができる有効なシーケンスの数を伝えることができる戦略(私に提供されたヒント:f(n-1)に関してf(n))を定式化します。

4

1 に答える 1

2

アップデート

それは

Answer(nビット)= fibonacci(n + 2)、fibonacci(0)= 0、およびfibonacci(1)=1の場合


分析

1ビット

0
1

2ビット

00
01
- 
10
11 // x

これで、シーケンスが1で終わる場合、さらに0を追加することしかできません。

3ビット

000
001
- 
010
011 // x
- 
100
101

一般に、[n]ビットの0と1の数

f [1](0)= 1 =フィボナッチ(2)=フィボナッチ(1 + 1)
f [1](1)= 1 =フィボナッチ(1)=フィボナッチ(1)
f [n](0)= f [n-1](0)+ f [n-1](1)=フィボナッチ(n + 1)
f [n](1)= f [n-1](0)=フィボナッチ(n)
f [n] = f [n](0)+ f [n](1)=フィボナッチ(n + 1)+フィボナッチ(n)=フィボナッチ(n + 2)

fibonacci(0)= 0
フィボナッチ(1)= 1
フィボナッチ(2)= 1
于 2011-06-23T07:15:35.693 に答える