ajout récursif de bits

Étant donné un nombre entier non négatif, ajoutez à plusieurs reprises les chiffres à chaque chiffre jusqu'à ce que le résultat soit un chiffre unique.
Exemple:

Entrée : 38
Sortie : 2
Explication : Le processus d'ajout de bits est le suivant : 3 + 8 = 11, 1 + 1 = 2. Comme 2 est un chiffre unique, 2 est renvoyé.
Code ci-dessus :

#include <stdio.h>
#include <string.h>
int addDigits(int num);
int main()
{
    
    
	int sum, r;
	scanf("%d", &sum);
	r = addDigits(sum);
	printf("%d", r);
	
}
int addDigits(int num)
{
    
    
	int a[1000], i, k = num, sum = 0;
	for(i = 0; k != 0; i++)
	{
    
    
		a[i] = k % 10;
		k = k / 10;
		sum += a[i];
	}
	while(sum >= 10)
	{
    
    
		return addDigits(sum);
	}
	return sum;
	
}


Le titre nécessite l'utilisation de la récursivité. Nous devons d'abord comprendre sa condition de terminaison, c'est-à-dire que la somme des chiffres est inférieure à 10. Par conséquent, nous pouvons écrire un morceau de code pour calculer la somme des chiffres d'origine. Si le condition n'est pas remplie, utilisez le nombre actuel comme le nouveau.Les paramètres pour le prochain tour de jugement, l'idée est relativement simple.

Supongo que te gusta

Origin blog.csdn.net/jiuchena/article/details/103427823
Recomendado
Clasificación