>> スピーカ1：の最後のバージョンで シグマ、私が呼ぶようなものに実装
私が使用したことにより、反復解法、 フォワードループは、すべてをカウントアップ
その後1とMの間の数字 合計を返す。
>> しかし、それは我々が別のものを使用することができますが判明 同じ技術を実装する
機能、技術 再帰として知られている。
再帰関数、いわば、 単純に自分自身を呼び出すものです。
今、それ自体は、その 問題になるかもしれません。
関数は単にそれ自体を呼び出す場合 自分自身を呼び出す自分自身を呼び出す、
そのプロセスは終了し、これまでボットかもしれません。
しかし、長い間、我々には、いわゆる 基本ケース、確実に条件
いくつかの状況で、我々は呼び出すことはありませんことを 自分自身、そうでない場合の、そのプロセス
無限ループを止めるべき。
>> それでは、再実装しましょう 次のようにシグマ。
nが0以下であれば、私は今 単純に、やや恣意、
0を返すつもり。
他に何私がやろうとしてたんだけど、実際には 正のintのためにシグマを計算する
私は、受け継がれてきたこと。
>> 今、Mのシグマは何ですか？
さて、Mのシグマは、もちろんですが、 mまでの1までの合計。
しかし、我々はそれについて、他の方法を考えている場合、 単にメートルプラスmの合計の
マイナス1プラスMマイナス2など、 ずっと1まで。
だから、そういう意味では、と思われる 私は単にMプラスを返すことができます。
>> そして私は、Mのマイナスが必要です 1プラスMマイナス2。
しかし、私は与えることができます機能を持っている 私正確にその答え、すなわち、
Mマイナス1シグマ。
>> さて、このように自分自身を呼び出していません 最高のアイデアのように思える。
シグマはシグマを呼び出す場合呼び出すので、 シグマを呼び出しシグマは、
このプロセスと思うだろう これまでに終了しない場合があります。
我々は、いわゆるベースを持っていた理由が、それはだ この関数の先頭にある場合。
mがある場合にチェックするif条件 私はつもりはない0以下
自分自身を呼び出すことができます。
私の代わりに、0を返すつもりだどの 順次に追加されようとしている
私が合算されてきた以前の番号 それによってこれを停止させる、アップ
そうでなければ無限のプロセス。
>> それでは見てみましょう場合は、この新しい 実装が動作します。
コンパイルの保存しましょう​​、と このプログラムを実行する。
シグマ1ドットを作るシグマ1を大幅に削減する。
とのはそれを提供してみましょう 前と同じ番号。
うまくいけば、私に3を与える必要があります2。
それでは、3でそれを提供してみましょうどの うまくいけば、私に6を与える必要があります。
とのは最終的にそれを提供しましょう 確かに私に1275を与え50、。