加算を繰り返して形成された数値の桁の合計を再帰的に合計します。C++ で実装されています。
2 つの整数「number」と「repeat」を入力として指定します。目標は、合計が 1 つの数値になるまで「繰り返し」回数繰り返される入力数値の数値合計を計算することです。得られた数値の合計が一桁になるまでこの手順を繰り返します。入力数値が 123 で、repeat=2 の場合、合計は 123123 になります。 1 2 3 1 2 3=12 これは 1 桁ではありません。ここで、12 の桁の合計は 1 2 = 3 となります。出力は 3
になります。これについてさまざまな入出力シナリオを見てみましょう。
Input-number=32Repeat=3
出力- 追加を繰り返すことによって形成される数値の再帰的合計は次のとおりです。 6
説明 - 323232 の数値の合計は 3 2 3 2 3 2=15 であり、 15 の数字の合計は 1 5=6 です。 6 は 1 桁なので、出力は 6 になります。
入力- 数値=81 繰り返し=4
出力-追加を繰り返して形成される数値の再帰的デジタル合計は次のとおりです: 9
説明 - 81818181 の桁の合計は 1 8 1 8 1 8 1 8=36、36 の桁の合計は 3 6=9 です。 9 は 1 桁なので、出力は 9 になります。
次のプログラムで使用するメソッドは次のとおりです。
number とrepeat の 2 つの整数型変数を宣言します。データを Recursive_Sum(number,Repeat) として関数に渡します。
-
関数内で Recursive_Sum(int number, int Reply) として使用します。
整数変数を total として宣言し、repeat * sum(number ) を使用します。
関数への呼び出しを sum(total) として返します。
-
関数内で sum として返します。 (int 数値)
IF 番号が 0 かどうかを確認し、0 を返します。
IF 番号 %9 が 0 かどうかを確認し、9 を返します。
ELSE、戻り値 % 9
結果を出力します。
例
#include <bits/stdc++.h> using namespace std; int sum(int number){ if(number == 0){ return 0; } if(number % 9 == 0){ return 9; } else{ return number % 9; } } int Recursive_Sum(int number, int repeat){ int total = repeat * sum(number); return sum(total); } int main(){ int number = 12; int repeat = 4; cout<<"Recursive sum of digits of a number formed by repeated appends is: "<<Recursive_Sum(number, repeat); return 0; }
出力
上記のコードを実行すると、次の出力が生成されます
Recursive sum of digits of a number formed by repeated appends is: 3
以上が加算を繰り返して形成された数値の桁の合計を再帰的に合計します。C++ で実装されています。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

VS Code および Visual Studio C++ IntelliSense は、特に大規模なプロジェクトで作業している場合、ライブラリを選択できない場合があります。 #Include<wx/wx.h> の上にマウスを移動すると、「ソース ファイル 'string.h' を開けません」というエラー メッセージが表示され (「wx/wx.h」に応じて異なります)、オートコンプリート関数が応答しなくなることがあります。この記事では、VSCode および VSC++ IntelliSense が機能しない場合、またはライブラリを抽出できない場合の対処法を説明します。私のインテリセンスが C++ で動作しないのはなぜですか?大きなファイルを扱う場合、IntelliSense が機能しないことがあります。

Word の表で数を数えるという問題に遭遇することがあります。通常、このような問題に遭遇すると、ほとんどの生徒は Word の表を Excel にコピーして計算しますが、黙って電卓を手に取る生徒もいます。簡単に計算する方法はありますか?もちろんありますが、実はWordでも合計額を計算することができます。それで、その方法を知っていますか?今日は、一緒に見ていきましょう!困っている友達はすぐに集めてください。手順の詳細: 1. まず、コンピューターで Word ソフトウェアを開き、処理する必要がある文書を開きます。 (図のように) 2. 次に、(図のように) 合計値が配置されているセルにカーソルを置き、[メニュー バー] をクリックします。

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

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

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

再帰は関数がそれ自体を呼び出す手法ですが、スタック オーバーフローや非効率という欠点があります。代替案には、コンパイラがループへの再帰呼び出しを最適化する末尾再帰最適化、再帰の代わりにループとコルーチンを使用する反復、再帰動作をシミュレートする実行の一時停止と再開が含まれます。
