ホームページ  >  記事  >  バックエンド開発  >  再帰の練習問題と解決策

再帰の練習問題と解決策

PHPz
PHPz転載
2023-09-15 10:05:08770ブラウズ

再帰の練習問題と解決策

この記事では、再帰の練習問題とその詳細な解決策について説明します。

まず、再帰とは何か、そしてそれがどのように機能するかを理解しましょう:

再帰 - 再帰は、問題を解決するために関数またはメソッドがそれ自体を複数回呼び出すプログラミング手法です。この関数は、問題をより小さなサブ問題に分割し、基本ケースに到達するまでそれらを解決します。

基本的なケースは、関数がそれ自体の呼び出しを停止し、限られた時間内に結果を返すことを保証する停止条件です。

再帰は複雑な問題を解決するための強力な手法ですが、無限ループを回避し、関数が複数回再帰的に呼び出されたときに関数が正しく終了するように慎重に設計することが重要です。

###質問1###

これは再帰に関連する最も基本的な問題です。

階乗の概念を使用して、指定された数値の階乗を求めます。

C での実装

リーリー ###出力### リーリー ###質問2###

この問題では、1 から始まる数列の n 番目の数値を出力する必要があります。i 番目の数値は最初の 2 つの数値の合計であり、一般にフィボナッチ数列として知られています。

C での実装

リーリー ###出力### リーリー

質問 3

指定された数値の桁の合計を計算します

C での実装

リーリー ###出力### リーリー

質問4

数値の「べき乗」の値を計算します。

この問題では、「数」と「べき乗」という 2 つの数字が与えられ、「数」という数字の「べき乗」のべき乗を求めることが課題となります。

C での実装

リーリー ###出力### リーリー

質問 5

2 つの数値の GCD (最大公約数) を求めます。

GCD は最大公約数の略で、2 つ以上の数値を剰余なしで割り算できる最大の数値です。これらの数値の最大公約数 (HCF) とも呼ばれます。

14 と 28 という 2 つの異なる数値があるとします。

14 の因数は 1、2、7、14 です。

28 の約数は 1、2、4、7、14、28 です。

次に、これら 2 つの数字、1、2、7、14 の公約数を見つけることができます。 14 と 28 を余りを残さずに割り切れる最大の数は 14 です。したがって、14 と 28 の最大公約数は 14 です。

C での実装

リーリー ###出力### リーリー

質問6

配列を逆順に出力

n 個の整数を含む配列を取得します。私たちのタスクは、最初の数値を最後の数値、2 番目の数値を最後から 2 番目の数値として同じ配列を順番に出力することです。

C での実装

リーリー ###出力### リーリー

基本レベルの再帰をマスターするための、さらに基本的な練習問題をいくつか紹介します -

文字列が回文であるかどうかを再帰的にチェックする関数を作成します。

末尾再帰を使用して、指定された数値の階乗を見つける関数を作成します。

ハノイの塔問題を解決する関数を作成します。

ソートされた配列に対して二分検索を実行する関数を作成します。

以上が再帰の練習問題と解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。