Rumah > pembangunan bahagian belakang > C++ > 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++

王林
Lepaskan: 2023-09-02 14:01:06
ke hadapan
804 orang telah melayarinya

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;
      }
      Salin selepas log masuk

      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
      Salin selepas log masuk

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!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan