Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Jumlahkan secara rekursif jumlah digit bagi suatu nombor yang dibentuk oleh penambahan berulang, dilaksanakan dalam C++

Jumlahkan secara rekursif jumlah digit bagi suatu nombor yang dibentuk oleh penambahan berulang, dilaksanakan dalam C++

王林
王林ke hadapan
2023-09-02 14:01:06717semak imbas

Jumlahkan secara rekursif jumlah digit bagi suatu nombor yang dibentuk oleh penambahan berulang, dilaksanakan dalam C++

Diberi dua integer "nombor" dan "ulang" sebagai input. Matlamatnya adalah untuk mengira jumlah berangka nombor input yang diulang "ulang" beberapa kali sehingga jumlah itu menjadi nombor tunggal. Teruskan dengan cara ini sehingga jumlah nombor yang diperolehi menjadi satu digit. Jika nombor input ialah 123 dan ulangi=2 maka hasil tambah 123123 ialah 1+2+3+1+2+3=12 Ini bukan satu digit. Sekarang hasil tambah digit bagi 12 ialah 1+2=3. Outputnya ialah 3

Mari lihat pelbagai senario input dan output untuk ini

Input− nombor=32 Repeat=3#🎜

Output− Jumlah digit rekursif bagi nombor yang dibentuk dengan lampiran berulang ialah: 6

Penjelasan #🎜# jumlah digit 323232 ialah 3+2+3+ 2+3+2=15, hasil tambah digit bagi 15 ialah 1+5=6. 6 ialah satu digit, jadi outputnya ialah 6.

Input

− nombor=81 Ulang=4

Output

−dibentuk semula oleh nombor berulang jumlah ialah: 9

Penjelasan

- Jumlah 81818181 ialah 1+8+1+8+1+8+1+ 8=36, jumlah setiap digit daripada 36 ialah 3+6=9. 9 ialah satu digit, jadi outputnya ialah 9. Kaedah yang digunakan dalam atur cara berikut adalah seperti berikut

    Isytiharkan dua pembolehubah jenis integer seperti nombor dan ulang. Hantar data ke fungsi sebagai Recursive_Sum(nombor, Ulang).
  • Isytiharkan pembolehubah integer di dalam fungsi sebagai Recursive_Sum(int number, int Repeat)
  • #🎜 jumlah dan tetapkannya dengan ulangi * jumlah(nombor); jika nombor IF ialah 0, maka kembalikan 0.
    • Semak jika nombor JIKA % 9 ialah 0 dan mengembalikan 9.
    • ELSE, nombor pulangan % 9
  • #🎜🎜tkan keputusan.#🎜🎜

    • Contoh

      #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;
      }

      Output
    • Jika kita menjalankan kod di atas# ia akan menjana kod output berikut🎜 #
      Recursive sum of digits of a number formed by repeated appends is: 3

Atas ialah kandungan terperinci Jumlahkan secara rekursif jumlah digit bagi suatu nombor yang dibentuk oleh penambahan berulang, dilaksanakan dalam C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam