Maison > développement back-end > C++ > le corps du texte

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

王林
Libérer: 2023-09-02 14:01:06
avant
740 Les gens l'ont consulté

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;
}
Copier après la connexion

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
Copier après la connexion

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!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!