問題タブ [fibonacci]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
language-agnostic - フィボナッチコードゴルフ
可能な限り少ない文字数でフィボナッチ数列を生成します。f
フィボナッチ数を出力する1つの演算子、で定義した言語を除いて、どの言語でも問題ありません。
開始点:Haskellで25 14文字:
f=0:1:zipWith(+)f(tail f)
delphi - Delphi Prism/Oxygene のラムダ式
Oxygene でラムダ式を試しています。フィボナッチ数を計算するための非常に単純な再帰ラムダ式:
このコードを実行すると、nullreferenceexception が発生します。私が間違っていることについてのアイデアはありますか?
time-complexity - フィボナッチ数列の計算量
Big-O 表記法は理解できますが、多くの関数で計算する方法がわかりません。特に、単純なバージョンのフィボナッチ数列の計算上の複雑さを理解しようとしています。
フィボナッチ数列の計算上の複雑さとはどのように計算されますか?
c# - 同じメソッドを 2 回再帰的に呼び出す
フィボナッチ数列では、同じメソッドを 2 回再帰的に呼び出す従来の実装を見てきました。
この方法は、私が見たものや問題を解決する正しい方法の正確なコピーではありませんが、上記のように2つの方法が一緒に追加されているのを見ました. したがって、メソッドは再帰的に呼び出されませんが、再帰的に 2 回呼び出されます。C# でこのようなコードを記述すると、具体的にはどうなるでしょうか。2 つのメソッドは別々のスレッドで実行されますか? ボンネットの下で何が起こっているのですか?
javascript - Javascript フィボナッチ n 項の最適化
最近、アルゴリズムに興味を持っていて、その単純さからフィボナッチ数列に興味を持っていました。
Web で多くの情報を読んだ後、フィボナッチ数列の n 番目の項を 15 ミリ秒未満で計算する JavaScript で何かをまとめることができました。それは 1476 まで上がります...1477 は無限大で、1478 は NaN です (javascript によると!)
私はコード自体を非常に誇りに思っていますが、それは完全な怪物です。
だからここに私の質問があります: A) シーケンスを計算するより速い方法はありますか? B) 2 つの行列を乗算するためのより高速で小さい方法はありますか?
コードは次のとおりです。
行列関数は、a と b の 2 つの引数を取り、a*b を返します。ここで、a と b は 2x2 配列です。ああ、余談ですが、魔法のようなことが起こりました... Strassen アルゴリズムを JS 配列表記に変換していたところ、最初の試みでうまくいきました! 素晴らしいですね。:P
これを行うためのより簡単な方法を見つけることができれば、事前に感謝します。
python - フィボナッチ数列の書き方は?
私はもともとプログラムを間違ってコーディングしていました。範囲内のフィボナッチ数を返す代わりに (つまり、startNumber 1、endNumber 20 は 1 と 20 の間の数値のみを指定する必要があります)、範囲内のすべてのフィボナッチ数を表示するプログラムを作成しました (つまり、startNumber 1、endNumber 20表示 = 最初の 20 個のフィボナッチ数)。私は確実なコードを持っていると思いました。また、なぜこれが起こっているのかわかりません。
誰かが私のパートII(重複のために閉鎖された - https://stackoverflow.com/questions/504193/how-to-write-the-fibonacci-sequence-in-python-part-ii)で私が指摘したwhile ループを使用してジェネレーターに startNumber と endNumber を渡す必要があります。誰かがこれを行う方法を教えてもらえますか? どんな助けでも大歓迎です。
私は学習中のプログラマーで、ちょっとしたごちゃ混ぜに出くわしました。ユーザーが入力した開始番号と終了番号によってフィボナッチ数列を計算して表示するプログラムを作成するように求められました (つまり、startNumber = 20 endNumber = 100 で、その範囲内の数値のみが表示されます)。秘訣は、それを包括的に使用することです(Pythonで行う方法がわかりませんか?-これは、包括的範囲を使用することを意味すると思いますか?)。
私がこれまでに持っているのは、実際のコーディングではなく、次のとおりです。
- Fib シーケンス式を無限に書き込む
- Fib シーケンスからのみ startNumber から endNumber までを表示します。
どこから始めたらいいのかわからないので、これを書く方法についてのアイデアや洞察を求めています。私は Fib シーケンスのフォーラムも作成しようとしましたが、それについても迷っています。
c++ - C ++で(int)55 == 54なのはなぜですか?
だから私はC++を学んでいます。「C++プログラミング言語」と「EffectiveC++」を入手し、ProjectEulerを実行しています。問題1...ダンゾ。問題2...それほど多くはありません。Win32コンソールアプリでVS2008を使用しています。
400万未満のフィボナッチ数列のすべての偶数項の合計は何ですか?
それは機能していなかったので、私は100のテストケースに切り詰めました...
これが私が書いたものです...
そして、これが出力です...
プロジェクトオイラー問題2:
フィボナッチ数列の新しい各項は、前の2つの項を追加することによって生成されます。1と2から始めると、最初の10項は次のようになります。
1、2、3、5、8、13、21、34、55、89、..。
400万を超えないシーケンス内のすべての偶数値の項の合計を見つけます。
0 0 0
1 1 1
1 1 1
2 2 0
3 3 1
5 5 1
8 8 0
13 13 1
21 21 1
34 34 0
55 54 0
89 89 1
回答:99
したがって、デバッグコードの3つの列があります...生成関数から返される数値、(int)generatedNumber、および(int)generatedNumber%2
つまり、第11学期には、
55,54,0
(int)55 = 54なのはなぜですか?
lisp - Fibonnaciを解決するためのLisp-way
Lispを試してみたかったのですが、すぐに諦めました。もう一度やってみようと思いました。私はプロジェクトオイラーの問題2を見ています-400万未満のすべてのフィボナッチ数の合計を見つけています。
私は動作する次のコードを書きましたが、あらゆる種類の醜いです。それらの中で最も重要なのは、それが非常に遅いという事実です-それは常に素朴な再帰を行っているからです。
このプログラムをPythonで作成したとき、数値を計算したときにリストを作成しましたが、数値を再計算することはありませんでした。私はここで(どういうわけか)それができることを知っていますが、それはLispの精神、関数型プログラミングには当てはまらないようです。再帰の深さの制限に達して、再帰の代わりにループを使用するようにコードを書き直さなければならなかったとき、私は#3の後で諦めました。
だから私の質問は次のとおりだと思います:
- この問題を解決するための「正しい、しなやかな方法」とは何ですか?
- 再帰と「すべてを計算するだけ」の概念を、すべてを計算する実際的な制限とどのように調和させますか?
- The LittleSchemerとProjectEuler以外にlispを学ぶための推奨事項はありますか?
そして、これが私のコードです:
python - range() 関数から最後の数値を取得するにはどうすればよいですか?
range()
関数から最後の数字を取得する方法はありますか? 最初の 20 項について、フィボナッチ数列の最後の数を取得する必要がありrange()
ます。それとも ?の代わりにリストを使用する必要があります。