Вычислить сумму ряда с точностью eps - C (СИ) (79229)
Формулировка задачи:
Помогите решить задачу: Вычислить сумму ряда (приближенное значение функции ln для |x|<1) с точностью eps. Значения x и eps вводятся с клавиатуры. Полученный результат и значение библиотечной функции ln вывести на экран.
Что-то написал, но похоже неправильно и не работает(( помогите.
если возможно, без pow
int main(int argc, char *argv[]) { double eps,i,x,S,ln,a,X,q,w; printf("vvedite tochnost'\n"); scanf("%lf",&eps); printf("vvedite x\n"); scanf("%lf",&x); S=0; a=-1; for(i=0;S>eps;i++){ q=pow(a,i); w=pow(x,i+1); X=q*w/(i+1); S+=X; } ln=log(x+1); printf("%.10lf\n",S); printf("ln=%.10lf\n",ln); return 0; }
Решение задачи: «Вычислить сумму ряда с точностью eps»
textual
Листинг программы
#include <stdio.h> #include <math.h> double myLn(double x, double eps); int main() { double x; double eps; printf("Input x: "); scanf("%lf", &x); printf("Input eps: "); scanf("%lf", &eps); printf("myLn(%lf, %lf) = %lf\n", x, eps, myLn(x, eps)); printf("libLn(1 + %lf) = %lf", x, log(1.0 + x)); getch(); return 0; } double myLn(double x, double eps) { double sum; double an; int i; sum = 0.0; an = -1.0; i = 0; do { an *= -x / ++i; sum += an; } while (fabs(an) > eps); return sum; }
Объяснение кода листинга программы
В этом коде:
- Сначала определяют функцию myLn(x, eps), которая вычисляет ряд для значения x с точностью eps.
- В функции main() считывают значения x и eps с помощью функции scanf().
- Вызывают функцию myLn(x, eps) и выводят результат на экран.
- Также в функции main() вычисляют приближенное значение функции ln(1+x) с помощью функции log() из библиотеки math.h и выводят его на экран.
- В функции myLn(x, eps) используется цикл do-while для вычисления ряда с точностью eps.
- Значение переменной an инициализируется как -1.0, а переменная i как 0.
- В цикле do-while значение an обновляется как произведение -x и i, а затем прибавляется к сумме sum.
- Цикл продолжается, пока абсолютное значение an не станет меньше eps.
- В конце функция возвращает сумму ряда.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д