soon【Java】フィボナッチ数列を考える1FizzBuzz問題と並んでプログラミング初心者向けにフィボナッチ数列というものがあります。実は自分で書いたことがなかったので今回はJavaで書いてみたいと思います。配列で実装フィボナッチ数列は1番目の値と2番目の値を足すと3番目の値になります。言い方を変えるとひとつ前とふたつ前の値を足した数が次の数ということです。いうことで言葉通りに実装したいと思います。方針としては可変の配列を作り、値を求めるためにひとつ前とふたつ前の値を取り出して足していきます。1番目の値は0、2番目の値は1として以下のように実装しました。2);ここの部分がひとつ前とふたつ前の数字を足して現在値を求めているところになります。数列の意味をそのままソースに落としているのでよく読めばわかりやすいですが、どうも助長なような...もう少し良い書き方があるような気がもします。フィボナッチ数列といえば再帰処理フィボナッチ数列と言えば再帰処理です。再帰処理とは関数内で自分自身を呼び出すことを言います。(Fn-2)の式で再帰的にフィボナッチ数を求めることができます。この式を使うと以下のように書けます。非常にすっきりしたコードになりました。直感でそのままプログラミングしてもいいのですが、こうした数学の知識や再帰処理といったものを使うことでここまでスマートに書けるのですね。この再帰処理のコードですが、とても遅いのです...。毎回自分自身を呼び出すためとても無駄が多いです。いうことで次回は高速化に挑戦したいと思います。投稿ナビゲーション前の記事:Qiitaに初めて投稿してみました。コメントをキャンセルメールアドレスが公開されることはありません。コメント名前メールアドレスサイトプロフィールsoon地方で常駐プログラマとして働いています。グーグルアドセンス」を利用しています。広告配信事業者は、ユーザーの興味に応じた広告を表示するためにCookie(クッキー)を使用することがあります。Google」をご覧ください。