目次
再帰乗算を使用する
アルゴリズム
再帰を使用して乗算を実行するアルゴリズムを見てみましょう。
ホームページ バックエンド開発 C++ 2 つの数値の積を計算するために再帰を使用して作成された C++ プログラム

2 つの数値の積を計算するために再帰を使用して作成された C++ プログラム

Aug 28, 2023 am 11:01 AM
再帰 Cプログラム 製品

2 つの数値の積を計算するために再帰を使用して作成された C++ プログラム

再帰は、同じ関数自体から関数を呼び出す手法です。再帰呼び出しを終了するには、何らかの基本条件または終了条件が必要です。再帰的プロシージャは、少ないコードで複雑な反復ソリューションを実行したり、サブ操作を通じてより簡単なソリューションを見つけたりするのに非常に役立ちます。

この記事では、C で 2 つの数値間の積 (乗算) を再帰的に実行する方法について説明します。まず、基本原則、再帰関数呼び出し構文、アルゴリズム、ソース コードを理解します。

再帰乗算を使用する

高級言語には、乗算を直接実行できる乗算演算子があります。しかし、掛け算は実際には足し算の繰り返しであることがわかっています。したがって、A*B の結果は、A と B の繰り返し加算の回数、または B と A の繰り返し加算の回数であると言えます。繰り返しがある場合は、再帰を使用してこれを行うことができます。まず、再帰関数定義の構文を見てみましょう。

###文法### リーリー

アルゴリズム

再帰を使用して乗算を実行するアルゴリズムを見てみましょう。

2 つの数値 A と B を受け入れる関数 multiply() を定義します。
  • A
  • 乗算 (B, A) を返す
それ以外の場合、B が 0 でない場合、
  • A 乗算 (A, B - 1) を返す
    • ###さもないと
  • 0を返す
    • 終わってしまったら
  • 関数定義の終了 2 つの入力 A と Bを読み取ります
  • res = 乗算 (A, B)
  • 何も表示しない
  • ###例### リーリー ###出力### リーリー
  • このプログラムでは、関数パラメータ A と B は両方とも整数です。ここで、各ステップの後、2 番目のパラメータ B を 1 ずつ減算し、A を A 自体に加算します。このように関数は乗算処理を行っています。
  • ###結論は### 再帰とは、関数自体から同じ関数を呼び出すプロセスです。関数を再帰的に呼び出すときは、同じ結果が何度も起こらないようにパラメータセットを少し更新または変更し、問題を小さなサブ問題に分割し、これらの小さな問題をボトムアップで解決することで問題を解決します。アプローチ 。ループを使用して実装できるほとんどのものは、再帰を使用して実装することもできます。この記事では、再帰を使用して 2 つの整数を乗算する単純なプロセスについて説明しました。整数を複数回加算して、最終的な乗算結果を取得します。

    以上が2 つの数値の積を計算するために再帰を使用して作成された C++ プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    AI Hentai Generator

    AI Hentai Generator

    AIヘンタイを無料で生成します。

    ホットツール

    メモ帳++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++ 関数の再帰の深さは制限されており、この制限を超えるとスタック オーバーフロー エラーが発生します。制限値はシステムやコンパイラによって異なりますが、通常は 1,000 ~ 10,000 の間です。解決策には次のものが含まれます: 1. 末尾再帰の最適化、2. 末尾呼び出し、3. 反復実装。

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

    はい、C++ ラムダ式は std::function を使用して再帰をサポートできます。std::function を使用して Lambda 式への参照をキャプチャします。キャプチャされた参照を使用すると、ラムダ式はそれ自体を再帰的に呼び出すことができます。

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

    再帰アルゴリズムは、関数の自己呼び出しを通じて構造化された問題を解決します。利点は、シンプルで理解しやすいことですが、欠点は、効率が低く、スタック オーバーフローを引き起こす可能性があることです。非再帰アルゴリズムは、明示的に管理することで再帰を回避します。スタック データ構造の利点は、より効率的でスタックのオーバーフローを回避できることですが、欠点はコードがより複雑になる可能性があることです。再帰的か非再帰的かの選択は、問題と実装の特定の制約によって異なります。

    Java で部分文字列の出現数を再帰的にカウントする Java で部分文字列の出現数を再帰的にカウントする Sep 17, 2023 pm 07:49 PM

    2 つの文字列 str_1 と str_2 を指定します。目的は、再帰的プロシージャを使用して、文字列 str1 内の部分文字列 str2 の出現数をカウントすることです。再帰関数は、その定義内で自分自身を呼び出す関数です。 str1 が「Iknowthatyouknowthatiknow」、str2 が「know」の場合、出現回数は -3 になります。例を通して理解しましょう。たとえば、入力 str1="TPisTPareTPamTP"、str2="TP"; 出力 Countofoccurrencesofasubstringrecursi

    指定された値を引数として受け取る逆双曲線正弦関数の値を見つける C++ プログラム 指定された値を引数として受け取る逆双曲線正弦関数の値を見つける C++ プログラム Sep 17, 2023 am 10:49 AM

    双曲線関数は、円の代わりに双曲線を使用して定義され、通常の三角関数と同等です。ラジアン単位で指定された角度から双曲線正弦関数の比率パラメーターを返します。しかし、その逆、つまり別の言い方をすればいいのです。双曲線正弦から角度を計算したい場合は、双曲線逆正弦演算のような逆双曲線三角関数演算が必要です。このコースでは、C++ で双曲線逆サイン (asinh) 関数を使用し、ラジアン単位の双曲線サイン値を使用して角度を計算する方法を説明します。双曲線逆正弦演算は次の式に従います -$$\mathrm{sinh^{-1}x\:=\:In(x\:+\:\sqrt{x^2\:+\:1})}ここで\:In\:is\:自然対数\:(log_e\:k)

    C プログラムは rename() 関数を使用してファイル名を変更します C プログラムは rename() 関数を使用してファイル名を変更します Sep 21, 2023 pm 10:01 PM

    名前変更機能は、ファイルまたはディレクトリを古い名前から新しい名前に変更します。この操作は移動操作と似ています。したがって、この名前変更機能を使用してファイルを移動することもできます。この関数は、stdio.h ライブラリ ヘッダー ファイルに存在します。 rename 関数の構文は次のとおりです: intrename(constchar*oldname,constchar*newname); rename() 関数は 2 つのパラメータを受け取ります。 1 つは古い名前、もう 1 つは新しい名前です。どちらのパラメータも、ファイルの古い名前と新しい名前を定義する定数文字へのポインタです。ファイルの名前が正常に変更された場合はゼロを返し、それ以外の場合はゼロ以外の整数を返します。名前変更操作中

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

    再帰関数は、文字列処理の問題を解決するためにそれ自体を繰り返し呼び出す手法です。無限再帰を防ぐために終了条件が必要です。再帰は、文字列の反転や回文チェックなどの操作で広く使用されています。

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

    再帰は、問題を解決するために関数自体を呼び出すことを可能にする強力な手法です。C++ では、再帰関数は、基本ケース (再帰をいつ停止するかを決定する) と再帰呼び出し (問題を分割する) という 2 つの重要な要素で構成されます。より小さなサブ問題)。基本を理解し、階乗計算、フィボナッチ数列、バイナリ ツリー トラバーサルなどの実践的な例を練習することで、再帰的な直感を構築し、自信を持ってコードで使用することができます。

    See all articles