定義
交互電力フィボナッチ数列は次のように形成されます。
空のシーケンスから始めて、nを1に設定します。
f n(n 番目の非負のフィボナッチ数)を繰り返し計算します。
0は最初、1は2番目、3番目、2は4番目です。他のすべては、シーケンス内の前の2つの数値を合計することによって取得されるため、3 = 1 + 2は5番目、5 = 2 + 3は6番目などですnが奇数の場合、f nの符号を変更します。
追加2 N-1のコピーF N配列。
nをインクリメントし、手順2に戻ります。
これらは、APFシーケンスの最初の100の用語です。
0 1 1 -1 -1 -1 -1 2 2 2 2 2 2 2 2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3
-3 -3 -3 -3 -3 -3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
5 5 5 5 5 5 5 5 5 5 5 5 5 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8
-8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8
仕事
入力として正の整数nを取り、APFシーケンスのn 番目の項を出力または返す完全なプログラムまたは関数を作成します。
0ベースのインデックス付けを希望する場合は、代わりに、負でない整数nを取り、インデックスnでAPF番号を出力または返すことができます。
これはcode-golfです。バイト単位の最短コードが勝つかもしれません!
テストケース(1ベース)
1 -> 0
2 -> 1
3 -> 1
4 -> -1
7 -> -1
8 -> 2
100 -> -8
250 -> 13
500 -> -21
1000 -> 34
11111 -> 233
22222 -> -377
33333 -> 610
テストケース(0ベース)
0 -> 0
1 -> 1
2 -> 1
3 -> -1
6 -> -1
7 -> 2
99 -> -8
249 -> 13
499 -> -21
999 -> 34
11110 -> 233
22221 -> -377
33332 -> 610