Étant donné deux nombres de base et d'exposant, le C++ ou C fonction pow() trouve x élevé à la puissance y, c'est-à-dire Xet . Fondamentalement, en C/C++, la valeur de l'exposant est calculée à l'aide de la fonction pow(). Le fonction pow() est utilisé pour calculer la puissance d'un nombre en C/C++. Il prend le double en entrée et renvoie le double en sortie.
Nous devons utiliser #inclure en C/C++ pour utiliser cette fonction pow() dans notre programme C/C++.
Syntaxe de la fonction pow()
double pow (double x, double y);>
Paramètres de la fonction pow()
Cette méthode ne prend que deux arguments :
- x : valeur de base à virgule flottante y : valeur de puissance à virgule flottante
Valeur de retour de la fonction pow()
- La fonction puissance renvoie la valeur à virgule flottante de x élevée à la puissance y ( Xet ).
Exemple de fonction pow()
Input: 2.0, 5.0 Output: 32.00 Explanation: pow(2.0, 5.0) executes 2.0 raised to the power 5.0, which equals 32 Input: 5.0, 2.0 Output: 25.00 Explanation: pow(5.0, 2.0) executes 5.0 raised to the power 2.0, which equals 25>
C
git ajoute tout
// C program to illustrate> // power function> #include> #include> int> main()> {> > double> x = 6.1, y = 4.8;> > // Storing the answer in result.> > double> result => pow> (x, y);> > printf> (> '%.2lf'> , result);> > return> 0;> }> |
>
>
C++
// C++ program to illustrate> // power function> #include> using> namespace> std;> int> main()> {> > double> x = 6.1, y = 4.8;> > // Storing the answer in result.> > double> result => pow> (x, y);> > // printing the result upto 2> > // decimal place> > cout << fixed << setprecision(2) << result << endl;> > return> 0;> }> |
>
>Sortir
5882.79>
Complexité temporelle : O(log(n))
Espace auxiliaire : O(1)
Fonctionnement de la fonction pow() avec des entiers
La fonction pow() prend « double » comme argument et renvoie une valeur « double ». Cette fonction ne fonctionne pas toujours pour les entiers. Un tel exemple est pow(5, 2). Lorsqu'il est affecté à un entier, il génère 24 sur certains compilateurs et fonctionne correctement pour certains autres compilateurs. Mais pow(5, 2) sans aucune affectation à un entier produit 25.
Une autre façon peut être d'utiliser le rond fonction pour l’attribuer à un type entier.
nom de la ville des États-Unis
- C'est parce que 52(c'est-à-dire 25) peut être stocké sous la forme 24.9999999 ou 25.0000000001 car le type de retour est double. Lorsqu'il est attribué à int, 25.0000000001 devient 25 mais 24.9999999 donnera la sortie 24.
- Pour surmonter ce problème et afficher la réponse précise au format entier, nous pouvons ajouter 1e-9 ou 0,000000001 au résultat et le transtyper en int par exemple (int)(pow(5, 2)+1e-9) donnera la bonne réponse (25, dans l'exemple ci-dessus), quel que soit le compilateur.
Exemple 1 : Programme C/C++ pour démontrer le comportement de la fonction pow() avec des entiers.
C++
// C++ program to illustrate> // working with integers in> // power function> #include> using> namespace> std;> int> main()> {> > int> a, b;> > // Using typecasting for> > // integer result> > a = (> int> )(> pow> (5, 2) + 0.5);> > b = round(> pow> (5,2));> > cout << a << endl << b ;> > return> 0;> }> |
>
>
C
// C program to illustrate> // working with integers in> // power function> #include> #include> int> main()> {> > int> a, b;> > // Using typecasting for> > // integer result> > a = (> int> )(> pow> (5, 2) + 1e-9);> > b = round(> pow> (5,2));> > printf> (> '%d
%d'> , a, b);> > return> 0;> }> |
>
c tableau de chaînes
>Sortir
25 25>
Complexité temporelle : O(log(n))
Espace auxiliaire : O(1)