Additionner les chiffres d'un nombre...
kcou
-
jisisv Messages postés 3678 Statut Modérateur -
jisisv Messages postés 3678 Statut Modérateur -
Additionner les chiffres d'un nombre...
...jusqu'a ne trouver qu'un seul chiffre
Salut,
Je souhaiterais savoir comment additionner tous les chiffres d'un nombre jusqu'à ne trouver qu'un seul chiffre...
Je me casse la tête mais je ne trouve pas. Je sais seulement additionner une fois tous les chiffres d'un nombre.
Mais j'aimerais répéter cette opération plusieurs fois... jusqu'à ne trouver qu'un seul chiffre
Merci
...jusqu'a ne trouver qu'un seul chiffre
Salut,
Je souhaiterais savoir comment additionner tous les chiffres d'un nombre jusqu'à ne trouver qu'un seul chiffre...
Je me casse la tête mais je ne trouve pas. Je sais seulement additionner une fois tous les chiffres d'un nombre.
Mais j'aimerais répéter cette opération plusieurs fois... jusqu'à ne trouver qu'un seul chiffre
Merci
A voir également:
- Additionner les chiffres d'un nombre...
- Formule excel pour additionner plusieurs cellules - Guide
- Nombre de jours entre deux dates excel - Guide
- Nombre facile - Télécharger - Outils professionnels
- Comment activer les chiffres du clavier - Guide
- Tous les code possible de 0 à 9 (4 chiffres ) liste - Forum Jeux vidéo
2 réponses
Voici le code qui va resoudre ton probleme:
int toChiffre( int nombre )
{
int temp;
temp = nombre;
while( temp%10 > 9 )
{
temp = (temp/10) + (temp%10);
}
return temp;
}
kcou
Ca ne fonctionne pas vraiment ... un problème d'accolades semble-t-il
Regrde ceci:
Il faut encore vérifier que res !=9 dans mod9, mais ça je te le laisse.
Tu peux aussi écrire une fonction récursive...
Gates gave ^W sold you the windows.
GNU gave us the whole house.(Alexandrin)
#include <stdlib.h>
#include <stdio.h>
int mod9(int x)
{
int c, res = x;
while (res > 9 )
{
res = 0;
while ( x > 0)
{
c = x % 10 ;
x = x / 10 ;
res += c;
}
x = res;
}
return x;
}
unsigned int values[] = { 7, 12, 23, 271, 314, 1234567};
int main(int argc, char* argv[])
{
int i;
for( i=0 ; i< sizeof(values)/sizeof(unsigned int) ; i++)
{
printf("%d modulo 9 = %d | %d\n", values[i], mod9(values[i]), values[i] % 9);
}
return EXIT_SUCCESS;
}
johand@bata:~/src/CCM/C$ ./mod9 7 modulo 9 = 7 | 7 12 modulo 9 = 3 | 3 23 modulo 9 = 5 | 5 271 modulo 9 = 1 | 1 314 modulo 9 = 8 | 8 1234567 modulo 9 = 1 | 1
Il faut encore vérifier que res !=9 dans mod9, mais ça je te le laisse.
Tu peux aussi écrire une fonction récursive...
Gates gave ^W sold you the windows.
GNU gave us the whole house.(Alexandrin)