Pragrammation en C (puissance)

Résolu
Bonjour,

comment écrire un programme C qui calcule a^(b) avec b entier par multiplications successives !!! svp i need help :S

5 réponses

  1. Flemme de chercher comment faire tes devoirs ?
    1. Modérateur
      Quelques indices:
      * comme l'exposant est entier, il n(ya aucune raison d'utiliser les fonctions ow et consorts.
      * en utilisant la décomposition par Horner de l'exposant, on réduira le nombre de multiplications à l'ordre O(log2(b)) où b est l'exposant.
      voir par exemple Evaluation
      1. dans la librérie math en C, on trouve la fonction pow(x,y) pour calculer la puissance, je peux te donné un code tt pret mais je prefere te donnée la piste a suivre et te laisser chercher toi m^m, car c'est ce qui fait la différence entre un programmeur et une photocopieuse ^^

        Bonne chance !!
        1. Un indice : "while"
          Allé un second : "4 variables" (on peut faire mieux, mais pour la compréhension c'est plus simple)
          1. int     ma_puissance(int n, int p)
            {
              int resulat;
              a = 1;
            
              if(p == 0)
                 return(1);
              else{
                 resultat = n;  
                 while (a < p){
                     resultat = resultat * n;
                     a++;
                 }
                 return(resultat);
              }
            }