Fonction de puissance en C/C++

Étant donné deux nombres de base et d'exposant, le C++ ou C fonction pow() trouve x élevé à la puissance y, c'est-à-dire X et . 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 ( X et ).

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










// 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.

  • C'est parce que 5 2 (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;> }>

Sortir

25 25 

Complexité temporelle : O(log(n))
Espace auxiliaire : O(1)





Top Articles

Catégorie

Des Articles Intéressants