Pragrammation en C (puissance)

Résolu/Fermé
miroko sama Messages postés 1 Date d'inscription dimanche 7 octobre 2012 Statut Membre Dernière intervention 7 octobre 2012 - 7 oct. 2012 à 21:54
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 11 oct. 2012 à 18:25
Bonjour,

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

5 réponses

telliak Messages postés 3655 Date d'inscription mercredi 20 septembre 2006 Statut Membre Dernière intervention 27 mars 2024 875
7 oct. 2012 à 22:02
Flemme de chercher comment faire tes devoirs ?
2
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
11 oct. 2012 à 18:25
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
2
syrano Messages postés 7 Date d'inscription dimanche 7 octobre 2012 Statut Membre Dernière intervention 5 janvier 2016 1
7 oct. 2012 à 22:10
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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