インターネットで PHP の再帰について読んだところ、マスターに再度尋ねたところ、再帰は自分自身を呼び出していると教えてもらいました。分かりませんでした。百度でハノイの塔問題を改めて読んだ。ハノイの塔が何であるかは知っていますが、再帰についてはまだ理解していません。シンプルでわかりやすい例を教えていただければ幸いです。 。 。
function f($n) { $out = -1; if($n<0) echo "输入不能是负数"; else if($n==0||$n==1) $out=1; else $out=f($n-1)*$n; return $out;}echo f(3);
function f($n) { $out = -1; if($n<0) echo "输入不能是负数"; else if($n==0||$n==1) $out=1; else $out=f($n-1)*$n; return $out;}echo f(3);
f(3)関数に渡される最初のパラメータは3ですが、$out=f($n-1)*$n;まで実行すると、$に変わります。 out=f (3) = f(2)*3;f(2) はまだ結果を生成していないため、f 関数が再度呼び出され、今回は f(2) パラメーターが 2 になり、$out に対して再度実行されます。 =f($n-1) *$n; f(1) がこの関数を実行する場合は $out=f(2) = f(1)*2 になります。それ以外の場合は if($n==0||$n= =1 )このコード f(1) = 1; f(1) の結果がわかっているので、前の $out=f(2) = f(1)*2 = 1*1 =1;$out=f を返します。 ( 2) = f(1)*2 = 1*2; $out=f(3) = f(2)*3 = 2*3 結果は 6 になります