web-dev-qa-db-ja.com

フィボナッチ数列では、fib(0)は0または1ですか?

Fib(0)が= 1に定義されている場合、私はサブジェクトでタスクを実行しています。しかし、それは正しくありませんか? fib(0)は0?

Program with fib(0) = 1; spits out fib(4) = 5
Program with fib(0) = 0; spits out fib(3) = 3

正しい定義は何ですか?

24
Algific

あなたは正しいです。 フィボナッチ数列 は、シード値fib(0) = 0およびfib(1) = 1で定義されています。これは、残りのシーケンスを正しくするための要件です。

fib(0) = 1が機能する唯一の条件は、「-1ベースのカウントシステム」を定義した場合(0ベースと1ベースの通常の規則とは対照的)です。これはかなり風変わりですが、きっとあなたは同意するでしょう。

20
Noldorin

Fib(0)= 1の定義は組み合わせ定義と呼ばれ、Fib(0)= 0は古典的な定義です。両方とも Fibonacci Quarterly で使用されますが、組み合わせの定義を使用する作者は説明文を追加する必要があります。本当に数える証明のベンジャミンとクインは、n番目の組み合わせフィボナッチ数にはf_nを使用し、n番目の古典的なフィボナッチ数にはF_nを使用します。組み合わせの定義は適切ですが、「一度に1つまたは2つのステップを踏んで、nステップのフライトを上るにはいくつの方法があるか」などの質問を数えるのは当然です。 nが0の場合、ゼロの方法ではなく、1つの方法があります。

26
Dale Gerdemann

ウィキペディアの フィボナッチ数 エントリから:

数学では、フィボナッチ数列は次の数列です。

alt text

定義により、最初の2つのフィボナッチ数は0と1であり、残りの各数は前の2つのフィボナッチ数の合計です。 一部のソースは、最初の0を省略し、2つの1でシーケンスを開始します

数学的には、フィボナッチ数列のシーケンスFnは、反復関係によって定義されます。

alt text

シード値あり

alt text

10
Pascal Thivent

フィボナッチ数列の定義に基づいて、n番目の要素を定義するための閉じたフォームを生成できます。

F(n) = ( f^n - (1-f)^n ) / sqrt(5),
where f = (1 + sqrt(5)) / 2 [the golden ratio]

N = 0の場合、それは明らかに0です。

F(0) = (1 - 1) / sqrt(5) = 0.
6
Zed

http://en.wikipedia.org/wiki/Fibonacci_number

フィボナッチ自身は0ではなく1でシーケンスを開始しました。自分の意見は変更できない事実ではないことを認識することが重要です。シーケンスを作成した人よりも必ずしもよく知っているわけではないと考えることは価値があるかもしれません。 「インデックス0」の番号は基本的にあいまいであり、常に明示的に伝達する必要があるため、そのように行動しない限り、シーケンスを0で開始するのは問題ないと思います。

「インデックス」の問題は私たちにのみ当てはまり、フィボナッチには当てはまりません。したがって、彼の開始番号を使用して、0ベースのインデックスを使用している場合、彼の開始番号をインデックス0に配置するか、1ベースのインデックスを使用している場合、彼の開始番号をインデックス1に配置します。 。

そして、シーケンスを左に続けることは確かに可能であるため、0から始めることも完全に任意になります。なぜ-1から始めて-1、1、0、1、1、2 ...に行かないのですか?

5
Kyle Delaney

ウサギをゼロにすることはできないため、ペアを作成することはできませんでした。「1ペアで開始し、2か月目から毎月複​​製するウサギのペアを1年間にいくつ作成できるか」は、フィボナッチへの最初の質問でした。

3
Woody Podgers

どちらも正しいです。シーケンスG {n}を再帰G {1} = 3、G {2} = 5、G {n} = G {n-1} + G {n-2}で指定すると、ほとんどの人はそれに同意します「フィボナッチ数列」です。唯一の違いは、前のいくつかの用語ですが、先頭の用語は、シーケンスに関する興味深い質問にはほとんど関係ありません。フィボナッチ数列の中心は加算ルールであり、そのルールを使用するすべての数列はフィボナッチ数列です。特定のインデックスについて特定の質問をしたい場合は、シーケンスに0が含まれているかどうかを指定するだけで十分です。それ以外はすべて、インデックスの翻訳にすぎず、ほとんど関係ありません。つまり、問題が「シーケンスのN番目の値の閉形式の解を見つける」である場合、Gについて解くと、Fの問題がほんのわずかなシフトで解かれます。問題の難しい部分は両方のシーケンスで同じです。

3
William Pursell
fib 0 = 0
fib 1 = 1

それがシード値の定義です。

0
phsiao