La fonction pow peut-elle être utilisée dans une fonction récursive? Par exemple:Fonction Pow en récursion C++
double exponencial(double x, int n){
if(n>0)
return (pow(x,n)/n)+exponencial(x,n-1);
return 1;
}
La fonction pow peut-elle être utilisée dans une fonction récursive? Par exemple:Fonction Pow en récursion C++
double exponencial(double x, int n){
if(n>0)
return (pow(x,n)/n)+exponencial(x,n-1);
return 1;
}
Vous pouvez utiliser toutes les fonctions de récursivité. pow
est simplement une fonction rien de spécial à ce sujet.
D'accord, mais peut-être devrait noter qu'il existe quelques fonctions qui ne sont pas adaptées à la récursivité - certaines des fonctions de temps et par exemple 'strtok'. –
quelqu'un m'a dit que je ne pouvais pas et je pensais que c'était bizarre ... Merci! –
La récursion ne limite pas les fonctions que vous pouvez ou ne pouvez pas utiliser. Donc oui, pow
peut être utilisé dans une fonction récursive.
Dans votre exemple, pow(x,n)
sera appelée en premier (plus probablement), et la valeur de retour sera divisée par n. Ensuite, toutes les données pertinentes sont poussées sur la pile (y compris la réponse du calcul que nous venons de faire), et exponencial(x,n-1)
est appelée. Lorsque cet appel récursif revient, les données sont à nouveau retirées de la pile et notre résultat final est calculé et renvoyé.
OUI .. Vous pouvez
est juste une fonction qui fonctionne comme toute autre fonction que vous avez écrit
Je suis curieux, pourquoi avez-vous pensé qu'il ne peut pas être utilisé? – StoryTeller
Vous pouvez l'utiliser. Dans ce cas particulier, c'est évidemment une mauvaise idée. Le nom de la fonction est également une mauvaise idée, car ce n'est pas ce que vous êtes en train de calculer. –