Не могу понять, как можно реализовать это (если можно, попробуйте объяснить мне, как все нужно делать):
При значениях x и Е, определяемых вводом, вычислить сумму тех слагаемых заданного вида, которые по абсолютной величине больше Е. Подсчитать количество таких слагаемых N. Выполнить суммирование для двух значений Е, отличающихся на порядок (в 10 раз)
|x| < 1 arcctg (x) = PI/2 - x + x^3/3 - x^5/5 + ... + (-1)^n * x^(2n - 1)/(2n - 1)
Ну, а немного "причесал" ваш код...
double Paul(double x, double eps)
{
double y = 1, summa = 0, last = 1;;
for (; fabs(last) > eps;)
{
last = pow(-1, y) * pow(x, 2 * y - 1) / (2 * y - 1);
summa += last;
y+=1;
}
return pi/2 + summa;
}
double Harry(double x, double eps)
{
double summ = pi/2 - x, x2n_1 = -x;
x *= x;
for(int k = 3; fabs(x2n_1/k) > eps; k += 2)
{
x2n_1 *= -x;
summ += x2n_1/k;
}
return summ;
}
Получается, что он считает так же, как и мой, а главное - как и арккотангенс :)
Так что все нормально. Только мой просто потому, что не вычисляет все эти pow
, считает примерно в восемь раз быстрее, так что посмотрите просто из интереса, чем он отличается от вашего..
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Дана строка SВывести символ L, который встречается наибольшее число раз
Как можно сгенерировать случайную позицию для опорного элемента быстрой сортировки не используя функцию rand? Другие стратегии выбора не подходят...