目次
これは再帰に関連する最も基本的な問題です。
この問題では、1 から始まる数列の n 番目の数値を出力する必要があります。i 番目の数値は最初の 2 つの数値の合計であり、一般にフィボナッチ数列として知られています。
C での実装
質問 5
数値の「べき乗」の値を計算します。
2 つの数値の GCD (最大公約数) を求めます。
14 の因数は 1、2、7、14 です。
28 の約数は 1、2、4、7、14、28 です。
次に、これら 2 つの数字、1、2、7、14 の公約数を見つけることができます。 14 と 28 を余りを残さずに割り切れる最大の数は 14 です。したがって、14 と 28 の最大公約数は 14 です。
文字列が回文であるかどうかを再帰的にチェックする関数を作成します。
末尾再帰を使用して、指定された数値の階乗を見つける関数を作成します。
ハノイの塔問題を解決する関数を作成します。
ホームページ バックエンド開発 C++ 再帰の練習問題と解決策

再帰の練習問題と解決策

Sep 15, 2023 am 10:05 AM
再帰 質問 解決

再帰の練習問題と解決策

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

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

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

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

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

###質問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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

C++ 関数の再帰的実装: 再帰の深さに制限はありますか? C++ 関数の再帰的実装: 再帰の深さに制限はありますか? Apr 23, 2024 am 09:30 AM

C++ 関数の再帰的実装: 再帰の深さに制限はありますか?

C++ ラムダ式は再帰をサポートしていますか? C++ ラムダ式は再帰をサポートしていますか? Apr 17, 2024 pm 09:06 PM

C++ ラムダ式は再帰をサポートしていますか?

C++ での機械学習アルゴリズムの実装: 一般的な課題と解決策 C++ での機械学習アルゴリズムの実装: 一般的な課題と解決策 Jun 03, 2024 pm 01:25 PM

C++ での機械学習アルゴリズムの実装: 一般的な課題と解決策

C++ 関数の再帰的実装: 再帰的アルゴリズムと非再帰的アルゴリズムの比較分析? C++ 関数の再帰的実装: 再帰的アルゴリズムと非再帰的アルゴリズムの比較分析? Apr 22, 2024 pm 03:18 PM

C++ 関数の再帰的実装: 再帰的アルゴリズムと非再帰的アルゴリズムの比較分析?

C++関数の再帰の詳しい解説:文字列処理における再帰の応用 C++関数の再帰の詳しい解説:文字列処理における再帰の応用 Apr 30, 2024 am 10:30 AM

C++関数の再帰の詳しい解説:文字列処理における再帰の応用

C++ 再帰の初心者ガイド: 基礎の構築と直感の開発 C++ 再帰の初心者ガイド: 基礎の構築と直感の開発 May 01, 2024 pm 05:36 PM

C++ 再帰の初心者ガイド: 基礎の構築と直感の開発

Java フレームワークのセキュリティ脆弱性の分析と解決策 Java フレームワークのセキュリティ脆弱性の分析と解決策 Jun 04, 2024 pm 06:34 PM

Java フレームワークのセキュリティ脆弱性の分析と解決策

Linuxで再帰的な「ls」を使用する方法 Linuxで再帰的な「ls」を使用する方法 Mar 20, 2024 am 10:03 AM

Linuxで再帰的な「ls」を使用する方法

See all articles