再帰は、関数がそれ自体を呼び出すプログラミング手法であり、分割統治問題に適しています。 C では、再帰関数は returnType functionName(parameters) として定義されます。これには、明確なベースライン (終了条件) と再帰呼び出し (パラメーターの更新後に自分自身を呼び出す) が必要です。階乗計算は再帰の典型的なケースです。コードは次のとおりです: `cpplong fastial(int n) { if (n == 0) {return 1;} else {return n * fastial(n-1);}}
C での再帰の適用
はじめに
再帰は強力なプログラミング手法です。これにより、関数が自分自身を呼び出すことができるようになります。これは、分割統治の性質を持つ問題を解決するためによく使用されます。つまり、問題を再帰的に解決できる小さなサブ問題に分割できます。
#文法#C では、再帰関数は次の構文を使用して定義されます:
returnType functionName(parameters) { // 基线情况:当递归终止时要满足的条件 if (base_case) { return result; } // 递归调用:函数调用自己,传入更新后的参数 return functionName(updated_parameters); }
非負整数の階乗を求めることは、再帰の典型的な例です。階乗は次のように定義されます:
factorial(n) = 1, if n = 0 = n * factorial(n-1), if n > 0
次のコードは階乗を計算するための再帰関数を実装します:
#include <iostream> long factorial(int n) { if (n == 0) { return 1; } else { return n * factorial(n-1); } } int main() { int n; std::cout << "Enter a non-negative integer: "; std::cin >> n; std::cout << "The factorial of " << n << " is: " << factorial(n) << std::endl; return 0; }
再帰は次の目的にも使用できます。さまざまな問題を解決します。次のような問題を解決します。
ツリーとグラフの走査# 無限再帰を防ぐために、再帰関数には明確なベースライン条件があることを確認してください。
以上がC++ での再帰の適用: 簡単な言葉で説明した実践的なガイダンスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。