#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int n=0;
double x, E, left, right=0.0, differ; //начальные переменные.
scanf("%lf %lf", &x, &E); //ввод аргумента и погрешности.
if(fabs(x)>1) //Модуль аргумента не должен превышать единицу.
{
printf("Некорректно задан аргумент x (|x|<1)");
}
else
{
left=(pow(M_PI,2)/8)-((M_PI/4)*fabs(x)); //вычисление левой части.
if (E!=0)
{
do
{
right+=cos((2*n+1)*x)/((4*n*n)+4*n+1); //вычисление правой части.
n++;
differ=right-fabs(left); //разность левой и правой части.
}
while (differ>E); //условие, при котором цикл останавливается.
printf("Левая часть равна = %.10lf \nПравая часть равна = %.10lf \n",left,right);
printf("После n=%d исследуемое выражение отличается от левой части более, чем на %.10lf,", n, E);
printf("а именно на %.10lf \n",fabs(differ));
}
else
{
printf("Погрешность равна 0, тогда правая часть стремится к левой, и равняется %.10lf, тогда n стремится в бесконечность",left);
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWF0aC5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSAKewoJaW50IG49MDsKCWRvdWJsZSB4LCBFLCBsZWZ0LCByaWdodD0wLjAsIGRpZmZlcjsgCQkJCS8v0L3QsNGH0LDQu9GM0L3Ri9C1INC/0LXRgNC10LzQtdC90L3Ri9C1LgoJCXNjYW5mKCIlbGYgJWxmIiwgJngsICZFKTsJCQkJCQkvL9Cy0LLQvtC0INCw0YDQs9GD0LzQtdC90YLQsCDQuCDQv9C+0LPRgNC10YjQvdC+0YHRgtC4LgoJaWYoZmFicyh4KT4xKQkJCQkJCQkJCQkvL9Cc0L7QtNGD0LvRjCDQsNGA0LPRg9C80LXQvdGC0LAg0L3QtSDQtNC+0LvQttC10L0g0L/RgNC10LLRi9GI0LDRgtGMINC10LTQuNC90LjRhtGDLgoJewoJCXByaW50Zigi0J3QtdC60L7RgNGA0LXQutGC0L3QviDQt9Cw0LTQsNC9INCw0YDQs9GD0LzQtdC90YIgeCAofHh8PDEpIik7Cgl9CgllbHNlCgl7CgkJbGVmdD0ocG93KE1fUEksMikvOCktKChNX1BJLzQpKmZhYnMoeCkpOwkJLy/QstGL0YfQuNGB0LvQtdC90LjQtSDQu9C10LLQvtC5INGH0LDRgdGC0LguCgkJaWYgKEUhPTApCgkJewoJCQlkbwoJCQl7CgkJCQlyaWdodCs9Y29zKCgyKm4rMSkqeCkvKCg0Km4qbikrNCpuKzEpOwkvL9Cy0YvRh9C40YHQu9C10L3QuNC1INC/0YDQsNCy0L7QuSDRh9Cw0YHRgtC4LgoJCQkJbisrOwoJCQkJZGlmZmVyPXJpZ2h0LWZhYnMobGVmdCk7CQkJCS8v0YDQsNC30L3QvtGB0YLRjCDQu9C10LLQvtC5INC4INC/0YDQsNCy0L7QuSDRh9Cw0YHRgtC4LgoJCQl9CgkJCXdoaWxlIChkaWZmZXI+RSk7CQkJCQkJCS8v0YPRgdC70L7QstC40LUsINC/0YDQuCDQutC+0YLQvtGA0L7QvCDRhtC40LrQuyDQvtGB0YLQsNC90LDQstC70LjQstCw0LXRgtGB0Y8uCgkJCXByaW50Zigi0JvQtdCy0LDRjyDRh9Cw0YHRgtGMINGA0LDQstC90LAgPSAlLjEwbGYgXG7Qn9GA0LDQstCw0Y8g0YfQsNGB0YLRjCDRgNCw0LLQvdCwID0gJS4xMGxmIFxuIixsZWZ0LHJpZ2h0KTsKCQkJcHJpbnRmKCLQn9C+0YHQu9C1IG49JWQg0LjRgdGB0LvQtdC00YPQtdC80L7QtSDQstGL0YDQsNC20LXQvdC40LUg0L7RgtC70LjRh9Cw0LXRgtGB0Y8g0L7RgiDQu9C10LLQvtC5INGH0LDRgdGC0Lgg0LHQvtC70LXQtSwg0YfQtdC8INC90LAgJS4xMGxmLCIsIG4sIEUpOyAKCQkJcHJpbnRmKCLQsCDQuNC80LXQvdC90L4g0L3QsCAlLjEwbGYgXG4iLGZhYnMoZGlmZmVyKSk7CgkJfQkKCQllbHNlCgkJewoJCQlwcmludGYoItCf0L7Qs9GA0LXRiNC90L7RgdGC0Ywg0YDQsNCy0L3QsCAwLCDRgtC+0LPQtNCwINC/0YDQsNCy0LDRjyDRh9Cw0YHRgtGMINGB0YLRgNC10LzQuNGC0YHRjyDQuiDQu9C10LLQvtC5LCDQuCDRgNCw0LLQvdGP0LXRgtGB0Y8gJS4xMGxmLCDRgtC+0LPQtNCwIG4g0YHRgtGA0LXQvNC40YLRgdGPINCyINCx0LXRgdC60L7QvdC10YfQvdC+0YHRgtGMIixsZWZ0KTsKCQl9Cgl9CglyZXR1cm4gMDsKfQ==