加算を繰り返して形成された数値の桁の合計を再帰的に合計します。C++ で実装されています。

王林
リリース: 2023-09-02 14:01:06
転載
765 人が閲覧しました

加算を繰り返して形成された数値の桁の合計を再帰的に合計します。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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート