Maison > développement back-end > C++ > Programme C pour générer x élevé à la nième puissance en utilisant une fonction récursive

Programme C pour générer x élevé à la nième puissance en utilisant une fonction récursive

PHPz
Libérer: 2023-08-25 22:33:09
avant
1931 Les gens l'ont consulté

Programme C pour générer x élevé à la nième puissance en utilisant une fonction récursive

Problème

Calculer la valeur de x élevé à la nième puissance, où x et n sont entrés par l'utilisateur au moment de l'exécution

Solution

Générer x élevé à la nième puissance à l'aide d'une fonction récursive en programmation C langage La solution pour la valeur de est la suivante −

La logique pour trouver x élevé à la nième puissance est la suivante −

//Calling function:
Xpow=power(x,n);
//Called function:
if (n==1)
   return(x);
else if ( n%2 == 0)
   return (pow(power(x,n/2),2)); /*if n is even*/
else
   return (x*power(x, n-1));
Copier après la connexion

Algorithme

Référez-vous à l'algorithme ci-dessous pour générer la valeur de x élevé à la nième puissance en utilisant une fonction récursive.

Étape 1 - Lire une variable entière longue

Étape 2 - Déclarer le prototype de fonction

Étape 3 - Appeler la fonction

Xpown=power(x,n) goto step 5
Copier après la connexion

Étape 4 − Imprimer xpown

Étape 5 − Fonction d'appel

Étape 5.1 − if (n==1)

Étape 5.1.1 − return(x)

Étape 5.2 − Sinon si (n%2 == 0)

Étape 5.2.1 − Return (pow(power(x,n/2),2)); /*Si n est un nombre pair*/

Étape 5.3 − Sinon

Chapitre 5.3. *puissance (x, n-1)); /*Si n est un nombre impair*/

Programme

Ce qui suit est un programme C qui utilise une fonction récursive pour générer la nième valeur de puissance de x−

#include <stdio.h>
#include <math.h>
void main(){
   long int x, n, xpown;
   long int power(int x, int n);
   printf("Enter the values of X and N: </p><p>");
   scanf("%ld %ld", &x, &n);
   xpown = power (x, n);
   printf("X to the power N = %ld</p><p>",xpown);
}
/*Recursive function to computer the X to power N*/
long int power(int x, int n){
   if (n==1)
      return(x);
   else if ( n%2 == 0)
      return (pow(power(x,n/2),2)); /*if n is even*/
   else
      return (x*power(x, n-1)); /* if n is odd*/
}
Copier après la connexion

Sortie

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant −

Enter the values of X and N:
5 4
X to the power N = 625
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal