Calculer les chiffres d'un nombre.

extracti0n Messages postés 17 Statut Membre -  
tsri_badr_esgi Messages postés 581 Statut Membre -
Bonjour,

J'aimerais savoir comment déconcaténer un nombre ou une méthode pour calculer la somme des chiffres d'un nombre:

ex : 1675 = 1+6+7+5 qui me donnerait : 19
merci

1 réponse

tsri_badr_esgi Messages postés 581 Statut Membre 9
 
namespace calcul_chiffre_d_un_nombre
{
    class Program
    {
        static void Main(string[] args)
        {
             
            int mod,resultat=0,a;
            Console.WriteLine("veuillez entrer un nombre");
            string x = Console.ReadLine();
            if (int.TryParse(x, out a))
            {
               do
               {
                   mod = a % 10;
                   a = a / 10;
                   resultat=resultat+ mod;
               
               }while(a>0);
            }

            else
            {
                Console.WriteLine("merci d'entrer un nombre valide");
            }
            Console.WriteLine(resultat);
          

            
            
        }  


l'idée et d'utiliser les modulo et la devision par 10 avec un type int qui ne support pas les virgule.
par ex :
int a=123; int resultat=0;

avec une boucle while ou do while le programme faire comme suit:

mod= a%10;.........  ( 123 modulo 10 =3)
a= a/10; ......( 123 / 10 = 12 )
resultat =resultat +mod .........(0+3=3)
puis
mod= a%10; .........( 12 modulo 10 =2)
a= a/10;.......... (12 / 10 = 1 )
resultat =resultat +mod .........(3+2=5)
puis 

mod= a%10;...........   (1 modulo 10 =1)
a= a/10;  ........... ( 1 / 10 =0  )
resultat =resultat +mod  ...........(5+1=6)
0