Extension du domaine de la fonction
Question
Sur la base du code plus haut, étendez la fonction power
pour calculer la puissance n du nombre p avec \(n\in \mathbb{N}\)et \(x\in \mathbb{R}\). Après avoir adapté le
Indice
Nous avons \(n\in \mathbb{N}\), n peut donc être négative. Dans ce cas, la boucle n'est plus valable :
Dans la première version, la variable i de valeur initiale 0 est incrémentée jusqu'à la valeur n, donc supposée >0,
Dans la seconde version, la valeur de n est décrémentée jusqu'à obtenir la valeur 0, ce qui suppose également que n est >0.
Pour rétablir la validité de la boucle, nous vérifions au préalable le paramètre n et ajustons les valeurs des paramètres si nécessaire.
Solution
1
double power (double x, int n){
2
double res=1 ;
3
if(n<0){
4
x=1/x ;
5
n=-n ;
6
}
7
for (; n>0 ; --n) res *=x ;
8
return res ;
9
}