#include <stdio.h>
#include <math.h>
double f(double x) {
return x
- 0.2 * (pow(x
, 2) + 6); }
double solve(double x0, double eps) {
double x = x0;
int iter = 0;
while (fabs(0.2 * (pow(x
, 2) + 6) - x
) > eps
) { x
= 0.2 * (pow(x
, 2) + 6); iter++;
}
printf("Итераций: %d\n", iter
); return x;
}
int main() {
double x0 = 0;
double eps =1e-20;
double root = solve(x0, eps);
printf("Решение: x = %lf\n", root
); printf("Значение f(x) = %lf\n", f
(root
));
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+Cgpkb3VibGUgZihkb3VibGUgeCkgewogIHJldHVybiB4IC0gMC4yICogKHBvdyh4LCAyKSArIDYpOwp9Cgpkb3VibGUgc29sdmUoZG91YmxlIHgwLCBkb3VibGUgZXBzKSB7CiAgZG91YmxlIHggPSB4MDsKICBpbnQgaXRlciA9IDA7CgogIHdoaWxlIChmYWJzKDAuMiAqIChwb3coeCwgMikgKyA2KSAtIHgpID4gZXBzKSB7CiAgICB4ID0gMC4yICogKHBvdyh4LCAyKSArIDYpOwogICAgaXRlcisrOwogIH0KCiAgcHJpbnRmKCLQmNGC0LXRgNCw0YbQuNC5OiAlZFxuIiwgaXRlcik7CiAgcmV0dXJuIHg7Cn0KCmludCBtYWluKCkgewogIGRvdWJsZSB4MCA9IDA7CiAgZG91YmxlIGVwcyA9MWUtMjA7CiAgZG91YmxlIHJvb3QgPSBzb2x2ZSh4MCwgZXBzKTsKCiAgcHJpbnRmKCLQoNC10YjQtdC90LjQtTogeCA9ICVsZlxuIiwgcm9vdCk7CiAgcHJpbnRmKCLQl9C90LDRh9C10L3QuNC1IGYoeCkgPSAlbGZcbiIsIGYocm9vdCkpOwoKICByZXR1cm4gMDsKfQo=