17 Déc2015
Puissance n-ième d’un nombre
1) Ecrire un programme C qui lit un nombre réel x et un entier positif n, puis calcule et affiche la puissance nième du nombre x : xn
Exemple d’exécution :
Donner un entier x : 4
Donner l'exposant n : 3
4.00 a la puissance 3 vaut 64.00
Notes
- Pour tout réel non nul x on a: x0 = 1.
- Par convention, les mathématiciens posent que 00 = 1.
2) Modifier le programme pour traiter le cas de la puissance négative.
Exemple d’exécution :
Donner un entier x : 2
Donner l'exposant n : -3
2.00 a la puissance -3 vaut 0.125
La puissance négative de zéro est égale à l'infinie.
Question 1:
//Programme : Puissance n-ième d’un nombre avec n positif //Auteur : IDMANSOUR //Copyright : Exelib.net #include <stdio.h> int main(){ int i, n; float x, p; printf("Donner un entier x : "); scanf("%f",&x); printf("Donner l'exposant n : "); scanf("%d",&n); //On suppose que n est positif p = 1; for(i=1;i<=n;i++) { p = p * x; } printf("\n%.2f a la puissance %d vaut %.2f\n",x, n, p); }
Question 2:
//Programme : Puissance n-ième d’un nombre 2 - n negatif //Auteur : IDMANSOUR //Copyright : Exelib.net #include <stdio.h> int main(){ int i, n; float x, p; printf("Donner un entier x : "); scanf("%f",&x); printf("Donner l'exposant n : "); scanf("%d",&n); if(n < 0 && x == 0){ printf("\n%.2f a la puissance %d est egale a l'infinie.\n",x, n); } else { p = 1; for(i=1;i<=abs(n);i++) { p = p * x; } if(n < 0) { p = 1 / p; } printf("\n%.2f a la puissance %d vaut %.4f\n",x, n, p); } }
Remarque :
La fonction mathématique abs permet le calcul de la valeur absolue d'un entier. Elle est définie dans la bibliothèque stdlib.h
S'il ne fonctionne pas, il faut ajouter au début du programme : #include<stdlib.h>