Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
Karsar123
0 / 0 / 1
Регистрация: 26.10.2013
Сообщений: 104
1

Вычислить значение выражения с помощью рекурсивной функции

28.03.2014, 14:03. Просмотров 1047. Ответов 1
Метки нет (Все метки)

S=ln(1+a)
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2014, 14:03
Ответы с готовыми решениями:

Вычислить значение выражения с помощью рекурсивной функции
Есть условие: нужно вычислить значение выражения типа V1+V2+Vn, с помощью рекурсивной функции. ...

С помощью рекурсивной функции вычислить сумму
Дано натуральное n, действительные a1,a2,...,an.С помощью рекурсивной функции вычислить сумму...

С помощью рекурсивной функции вычислить сумму элементов одномерного массива
С помощью рекурсивной функции вычислить сумму элементов одномерного массива. Есть примеры но...

Вычислить значение выражения с помощью цикла for
Помогите новичку С!!!Задача очень сложная для меня!!Прошу помощи АКУЛ ПРОГРАММИРОВАНИЯ))Заранее...

Вычислить значение выражения с помощью рекурсии и итерации
Вычислить a(k)=(k div 3) + ( k div 2) двумя заданными методами. a(0)=1; k>1. Вывести на экран...

1
BlackSpace
144 / 136 / 95
Регистрация: 15.03.2014
Сообщений: 288
28.03.2014, 19:42 2
Есть ряд Тейлора для данного выражения, который сходится только при -1 < a <= 1, соответственно и вычислять значение выражения с помощью данного ряда можно только когда число a входит в данный диапазон.
http://www.cyberforum.ru/cgi-bin/latex.cgi?ln\left( 1 + a \right) = x - \frac{{x}^{2}}{2} + \frac{{x}^{3}}{3} - \frac{{x}^{4}}{4}+...

Думаю, что в задании подразумевается именно с помощью данного ряда рекурсивное вычисление.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
#define EPS 0.0000001 // точность вычисления
//
// рекурсивная функция вычисления
double calc_ln( const double a, const double eps );
 
int main( void ) {
 
    double a;
    printf( "Введите a " );
    scanf( "%lf", &a );
 
    // проверяем входит ли в нужный нам диапазон число a
    if ( a > 1 || a <= -1 ) { // если нет, то сообщаем пользователю
        fprintf( stderr, "Число должно быть в диапазоне -1 < a <= 1\n" );
        return EXIT_FAILURE; // выходим из программы
    }
 
    // иначе все в порядке - вычисляем значение и выводим на экран
    printf( "Ln( 1 + %g ) = %.10f\n", a, calc_ln( a, EPS ) );
 
    return EXIT_SUCCESS;
}
 
double calc_ln( const double a, const double eps ) {
    // для текущего элемента ряда
    static double curr = 1.0; // числитель
    static int i = 1; // знаментатель
 
    // вычисляем
    curr *= a; // числитель
    double curr_elem = curr / i++; // знаменатель
 
    // проверяем достигнута ли необходимая точность
    // если да, то прерываем рекурсию возвращая текущий элемент ряда
    // иначе вычисляем следующий элемент ряда и суммируем его с текущим
    return fabs( curr_elem ) <= eps ? curr_elem : curr_elem + calc_ln( a, eps ) * -1;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2014, 19:42

Описать функцию и вычислить с ее помощью значение выражения
Задача: Описать функцию Sign(X) целого типа, возвращающую для вещественного числа X следующие...

Перемножить два числа с помощью рекурсивной функции
Вообще не понимаю тему рекурсия..... Нужно написать программу которая перемножает 2 числа без...

Вычислить с помощью рядов тейлора значение функции косинус х
Добрый вечер. Задание: вычислить с помощью рядов тейлора значение функции косинус х. Написал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru