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++
É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
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.
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.
#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; }
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!