首頁  >  文章  >  後端開發  >  遞歸求和一個由重複追加形成的數字的各位數字總和,使用C++實現

遞歸求和一個由重複追加形成的數字的各位數字總和,使用C++實現

王林
王林轉載
2023-09-02 14:01:06765瀏覽

遞歸求和一個由重複追加形成的數字的各位數字總和,使用C++實現

給定兩個整數「number」和「repeat」作為輸入。目標是計算重複「重複」次數的輸入數字的數字總和,直到總和變成單一數字。如此下去,直到得到的數字總和變成一位數。如果輸入數字是123且repeat=2那麼123123的數字和將是 1 2 3 1 2 3=12 這不是個位數。現在12的各位數字和是1 2=3。輸出將為3

讓我們來看看此的各種輸入輸出場景

輸入− number=32 Repeat=3

輸出− 重複追加形成的數字的遞歸數字和為:6

解釋 − 323232 的數字和為3 2 3 2 3 2=15,15的各位數字和為1 5=6。 6 是一位數字,因此輸出將為 6。

輸入− number=81 Repeat=4

#輸出−重複追加所形成的數字的遞迴數字和為:9

解釋 - 81818181 的數字和為1 8 1 8 1 8 1 8=36,36的各位數字和為3 6=9。 9 是一位數字,因此輸出將為 9。

下面程式中使用的方法如下

  • 聲明兩個整數類型變數如數字和重複。將資料作為 Recursive_Sum(number, Repeat) 傳遞給函數。

  • 在函數內部作為Recursive_Sum(int number, int Repeat)

    • 宣告一個整數變數為total,並用repeat * sum(number )設定它;

    • 傳回函數的呼叫作為sum(total) .

  • ##在函數內部作為sum (int number)

    • 檢查IF 數字是否為0,然後回傳0。

    • 檢查 IF 數字 % 9 是否為 0,然後回傳 9。

    • ELSE, return number % 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中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除