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. 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);
            }
          }
          
          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