É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)