Maison >développement back-end >C++ >Additionner récursivement la somme des chiffres d'un nombre formé par des additions répétées, implémenté en C++

Additionner récursivement la somme des chiffres d'un nombre formé par des additions répétées, implémenté en C++

王林
王林avant
2023-09-02 14:01:06798parcourir

Additionner récursivement la somme des chiffres dun nombre formé par des additions répétées, implémenté en C++

Étant donné deux entiers "nombre" et "répéter" en entrée. Le but est de calculer la somme numérique d'un nombre saisi répété un certain nombre de fois jusqu'à ce que la somme devienne un nombre unique. Continuez ainsi jusqu'à ce que la somme des nombres obtenus devienne un seul chiffre. Si le nombre saisi est 123 et répéter = 2 alors la somme de 123123 sera 1+2+3+1+2+3=12 Ce n’est pas un seul chiffre. Maintenant, la somme des chiffres de 12 est 1+2=3. La sortie sera 3

Regardons différents scénarios d'entrée et de sortie pour cela

Entrée− nombre=32 Répétition=3

Sortie− La somme numérique récursive des nombres formée par des ajouts répétés est : 6

Explication : La somme de − 323232 est 3+2+3+ 2+3+2=15, et la somme des chiffres de 15 est 1+5=6. 6 est un seul chiffre, donc le résultat sera 6.

Entrée− nombre=81 Répétition=4

Sortie− La somme récursive des nombres formés par des ajouts répétés est : 9

Explication - La somme des nombres de 81818181 est 1+8+1 +8+1 +8+1+ 8=36, la somme des chiffres de 36 est 3+6=9. 9 est un seul chiffre, donc le résultat sera 9.

La méthode utilisée dans le programme ci-dessous est la suivante

  • Déclarez deux variables de type entier telles que nombre et répétition. Transmettez les données à la fonction sous la forme Recursive_Sum(number, Repeat).

  • À l'intérieur de la fonction comme Recursive_Sum(int number, int Repeat)

    • Déclarez une variable entière comme total et définissez-la avec repeat * sum(number);

    • Renvoyez l'appel à la fonction comme sum( total) .

  • à l'intérieur de la fonction as sum(int number)

    • vérifie si le nombre IF est 0 et renvoie 0.

    • Vérifiez si le numéro IF % 9 est 0 et renvoyez 9.

    • ELSE, numéro de retour % 9

  • Imprimez le résultat.

Exemple

#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

Si nous exécutons le code ci-dessus, il générera la sortie suivante

Recursive sum of digits of a number formed by repeated appends is: 3

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer