はいこれは宿題です。私は簡単な答えを求めていない、ちょうど正しい方向に動くのを助ける。ここでは代入があります: "aとbの2つの数値を受け取る関数を作成する関数はaとbの間のすべての数値の乗算を計算して返します。この関数の3つのバージョンを作成してください。 私はforループとwhileループを使って関数を作成しましたが、私は割り当ての最後の部分である再帰を使う方法を失っています。再帰を使って与えられた2つの変数間のすべての整数の乗算
答えて
これを認めたことは宿題です。それで、私はあなたに答えを与えませんが、私はあなたにそれに向けていくつかの指針を与えます。
再帰関数を書くときに、考慮すべき二つの重要なものがある:再帰を停止して何
- 、および
- 再帰はあなたのケースでは
を停止するまでのところ、何が起こりますあなたは数字のリストの積を計算しなければなりません。
- リストに1つの項目しかないときに機能が実行されますか? (例:aとbが同じ場合)
- リストの残りの部分の積で1つの要素を掛けることができますか?
余分なクレジットを探すには、テール再帰をルックアップして、メモリ使用量を抑えることができる理由を理解してください。
これで十分ですか?
これは簡単な例ですdynamic programming - まず1つの問題から始め、問題を解決して結果を簡単に組み合わせて解決してください。
通常、これらの問題を後ろ向きに攻撃することができます。最も簡単なケースは何か、すぐに答えることができますか?問題がそれよりも難しい場合はどうしますか?
再帰的解を見つけるように明示的に指示されているように、結果を直接返すか、変更されたパラメータで自身を呼び出す必要があるメソッドを探していると仮定できます。それ自身を得るために。
質問が少し人工的であることを考えれば、文字通り再帰構造を使用してforループを実装してから、既存のforループを直接適用する方法を検討することを検討してください。既存のソリューションを別の方法で表現する方法を検討するだけで、問題を解決するという性質について大きな疑問はありません。
function recursiveMultiplication(num1, num2) {
if (num2 == num1) {
return num2;
}
return num2 * recursiveMultiplication(num1, num2 - 1);
}
console.log(recursiveMultiplication(5, 8));
非常に正直なところ、私は今日再帰を学んだ。必要なのは奉仕と勤勉です。他の人々がこのようにコード化する方法を学ぶと、さらに簡単な形式で問題を分けることができます。D –
http://stackoverflow.com/questions/30589132/recursion-control-flow –
- 1. 与えられた整数に合計した配列内の2つの整数を見つける再帰アルゴリズム
- 2. 2 64ビット整数のSSE乗算
- 3. 乗算2つの溢れ整数が第三
- 4. 与えられた範囲内のすべての素数を見つける
- 5. 2つのデータリストを与えられたmathematicaの数値積分
- 6. 変数の乗算
- 7. MIPS:整数の乗算と除算
- 8. 私は次のプログラムで間違っているc.whatの再帰関数を使って、与えられた数値の階乗を見つけたいですか?
- 9. 再帰関数によって使用されるグローバル変数
- 10. 子を与えられたすべての祖先を再帰的に見つける
- 11. 与えられた数字の一意の数を計算するExcel関数
- 12. 1と最大のNビットの間の整数を、Pythonの再帰を使って求めます。
- 13. 与えられたライン関数からローリングウインドウの二乗和の距離を計算するアルゴリズム
- 14. は、整数の範囲を与えられた私は素数のリストを見つけたい素数のリスト
- 15. 2つの符号なし整数(HW)を乗算する32ビットを得る
- 16. Pythonの乗算整数「印刷()」
- 17. 大きな整数の並列乗算
- 18. 整数をVBA(Excel)を使って時間で除算する
- 19. 2つの整数を使って倍精度整数の整数部分を表現する方法
- 20. 計算機の数値を再帰的に加算、減算、除算、または乗算する方法は?
- 21. プロローグでの再帰的乗算
- 22. 与えられた点を使ってカーブのコントロールポイントを計算する
- 23. 2つの整数のMOD除算
- 24. 再帰関数 - 2つの関数または最後のオプションパラメータ
- 25. すべての数値文字列をRubyハッシュの整数に再帰的に変換します。
- 26. ネストされたリストを再帰関数を使ってセットに変換する
- 27. 与えられた数字に向かって丸めます
- 28. 2つの数値の乗算は一定時間アルゴリズムですか?
- 29. noを数える再帰関数を変更します。すべてのパスのシーケンスを取得する
- 30. JMeter - 別の変数を使って変数を計算する
コードを投稿してください。 –