On m'a demandé de calculer l'expression racine imbriquée suivante en utilisant la récursivité uniquement.
J'ai écrit le code ci-dessous qui fonctionne, mais ils nous ont permis d' utiliser une seule fonction et 1 entrée n
à cet effet et non 2 comme je l'ai utilisé. Quelqu'un peut-il m'aider à transformer ce code en une fonction qui calculera l'expression? ne peut pas utiliser n'importe quelle bibliothèque, sauf les fonctions de <math.h>
.
sortie pour n = 10: 1.757932
double rec_sqrt_series(int n, int m) {
if (n <= 0)
return 0;
if (m > n)
return 0;
return sqrt(m + rec_sqrt_series(n, m + 1));
}
double helper(int n) {
return rec_sqrt_series(n, 1);
}
abort()
(de <stdlib.h>
), ne retournerais pas silencieusement 0.
double nested_root(unsigned n) { double x = 0.0; if (n > 0) { x = nested_root(0); for (unsigned i = n; i > 0; i--) { x = sqrt(i + x); } } return x; }
helper
?