Ошибка вычисления программного кода, почему так и как исправить?
Я новичок в c++, довольно сложно дается понятие принципов, сколько не пытался, не получается получить 2.121 после s(1.5,3). Условие нельзя менять и порядок ввода. Пробовал изначально с double s(double n, double x), но при тесте 1.5 3 ошибка сегментов.
#include <iostream>
#include <cmath>
using namespace std;
double s(int n, double x) {
if (n == 0) {
return sqrt(x+1);
}
else {
return sqrt(x+n*floor(s(n-1,x)));
}
}
int main () {
setlocale(LC_ALL, "RU");
double n, x;
cout << "Ввведите пару чисел точки" << endl;
cin >> n >> x;
cout << s(n, x) << endl;
}