Решение уравнения методом деления отрезка пополам - C (СИ)
Формулировка задачи:
Составить программу, которая находит решение
x0
уравненияx-2cosx=0
на отрезке [0;2] методом деления пополам. Определитьx0
с точностью до 8-го знака.Написал программу, но она выводит x0 с точностью 6 знаков. Как это исправить?
#include <stdio.h>
#include <locale.h>
#include <math.h>
int main(void) {
setlocale(LC_ALL,"");
double a ,b, d, x, x1;
a=0;
b=2;
d=0.00000001;
do
{
x=(a+b)/2;
x1=(x-2*cos(x)) * (a-2*cos(a));
if (x1<0)
b=x;
else
a=x;
}
while(fabs(b-a)>d);
x=(a+b)/2;
printf("%e\n",x);
}Решение задачи: «Решение уравнения методом деления отрезка пополам»
textual
Листинг программы
printf("%.8f\n", x0);