Poproszono mnie o obliczenie następującego zagnieżdżonego wyrażenia głównego przy użyciu tylko rekurencji .
Napisałem poniższy kod, który działa, ale pozwolili nam użyć tylko jednej funkcji i 1 wejścia n
do tego celu, a nie 2 takich jak ja. Czy ktoś może mi pomóc przekształcić ten kod w jedną funkcję, która obliczy wyrażenie? nie mogę użyć żadnej biblioteki oprócz funkcji z <math.h>
.
wyjście dla 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()
(z <stdlib.h>
), nie po cichu zwraca 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
?