ビデオ: Ganhei doce japonês de presente♥ リオのお土産、餅と饅頭とラムネ。気になるお味は!? [Vlog#80] 2024
再帰 は、プログラミングに関してよく聞かれる大きくて恐ろしい言葉です。特に、彼らが大学で教えるプログラムの挫折感があります。説明するのは簡単な概念ですが、再帰がどのように機能するかを理解することには本当に心を奪われます。ほとんどの人はそれを受け入れて移動します。ここではない!
再帰 は基本的に、それ自身を呼び出す関数のプロセスです。例:
<!このコードでは、再帰関数のひどい例を見ることができますが、ここではその目的を説明しています:The funct(funct(int x){funct(x);} ()関数は自身を呼び出します。それは再帰です。この例では、基本的に無限ループであり、スタックポイント
r と呼ばれる技術的な何かのおかげで、コンピュータは結局クラッシュします。しかしそれは単なるイラストです。 <! - 2 - > 再帰が機能するためには、関数はループのように救済条件を持っていなければなりません。したがって、再帰関数に渡される値またはその戻り値のいずれかをテストする必要があります。再帰関数のより良い例があります: void recursion(int x){if(x == 0)return; else {puts( "Boop!"); recursion(-x);}}
recursion()関数は、値x
を受け入れます。
x がゼロに等しい場合、関数はベールします。それ以外の場合は、関数が再び呼び出されますが、 x の値は小さくなります。減分接頭語演算子は、呼び出しが行われる前に x の値が減少されるように使用される(999)。 <! - 3 - > サンプルのrecursion()関数は基本的に Boop!というテキストを吐き出します。 与えられた回数。したがって、recursion()が値10で呼び出された場合、そのテキストは10回表示されます。 再帰についての非常識な部分は、関数が自分自身を呼び出し続け、それがらせん状であるかのように、より緊密でよりきつくラップすることです。前の例では、条件x == 1が最後にそのねじれ混乱を巻き戻し、関数が完了するまで徐々に後退します。
次のコードは、recursion()関数のサンプルを使用する完全なプログラムを示しています。#include void recursion(int x); int main(){再帰(10); return(0);} void recursion(int x){if(x == 0)return; else {puts( "Boop!");再帰(-x);}} 再帰の一般的なデモは階乗関数である。 階乗
は、正の整数のそれぞれに値を乗算した結果です。例:
4! = 4×3×2×1
この階乗の結果は24です。コンピュータは、ループを実装するか、または再帰関数を作成することによっても、この計算を行うことができます。次のような関数があります:
int factorial(int x){if(x == 1)return(x); (x * factorial(x-1));} 他の再帰関数と同様に、factorial()関数には終了条件x == 1が含まれています。それ以外の場合は、現在の値 x
より小さい1つで関数が再度呼び出されます。しかし、すべてのアクションは戻り値で行われます。