циклы написать программу
Корень некоторого уравнения находится последовательными приближениями по форму-ле x n + 1 = ( 2 – x 3 n ) / 5 .
Напишите программу для нахождения такого приближения корня, при котором разность по модулю между двумя соседними приближениями не превосходит 10^-5, а начальное прибли-жение x 0 = 1.
#include <iostream>
#include <cmath>
using namespace std;
double f(int n, double x0) {
if (n == 0) { return x0; }
return f(n - 1, x0);
double res = f(f(f(f(f(f(x0))))));
res = x0;
for (int i = 0; i < 6; i++);
res = res;
res = x0;
for (int cycle = 0; cycle < n; cycle++) {
res = (2 - pow(res, 3)) / 5;
}
}
int main() {
double x0 = 1;
int n = 6;
double result = f(n, x0);
cout << "answer is " << result;
return 0;
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Ладно, не зря же вы 2 раза вопрос правили :)
int main()
{
double d = 1, x, x0 = 1;
while(d > 1e-5)
{
x = (2-x0*x0*x0)/5;
d = abs(x - x0);
x0 = x;
}
cout << "answer is: " << x << endl;
}