Вычислить значение y
Есть следующий алгортим для рекурсии:

Больше ничего не дано. Как рекурсию сделать я понимаю, не понятно только самая нижняя часть алгоритма. В конце мы делим на 1+1/2. Это значит что мы n должны делать до тех пор пока оно не будет n==1? Откуда тогда 1/2 взялась, это не понятно. Нужна помощь именно для понятия того откуда взялась 1/2.
Исходя из расчетов будет так: n==3
y(3)=1/((3-0)+(1/(3-1)+(3-2)+(1/(3-2)))). Возможно где то не закрыл скобку но суть не в этом, суть в том что у нас 1/2 не получается. Или может я что-то не так понимаю?
UPD:
#include <iostream>
double calculateY(double n, double step)
{
if (n - step == 1.0)
{
return 1.0;
}
else
{
return 1.0 / (n - step) + calculateY(n, step+1.0);
}
}
int main()
{
std::cout << calculateY(5.0, 0.0);
}
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
double calcY(int n) {
if (n == 0)
return 0.5;
else
return 1 / (n + calcY(n - 1));
}