Форум программистов, компьютерный форум CyberForum.ru

Вычисление функции с помощью рекурсии - C++

Восстановить пароль Регистрация
 
selevit
 Аватар для selevit
79 / 75 / 3
Регистрация: 08.10.2008
Сообщений: 296
25.10.2010, 22:34     Вычисление функции с помощью рекурсии #1
Всем доброго времени суток, разбираюсь с рекурсией, пока что не очень разобрался, к примеру вычисление такой функции на C++

Название: функция.gif
Просмотров: 98

Размер: 481 байт


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
double F(int N)
{
    double X;
    int t = 2;
        X = pow(sin(double(t)), 3) / (t * t - 1);
 
    if(X)
    {
        while (t <= N)
        {
            t++;
            return F(N);
        }
    }
}
Что то непонятное написал, помогите пожалуйста разобраться, заранее спасибо =)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2010, 22:34     Вычисление функции с помощью рекурсии
Посмотрите здесь:

Возведение в степень n с помощью рекурсии C++
a в степени n с помощью рекурсии C++
C++ Вычисление функции c помощью разложения в ряд
C++ Найти ошибку (Вычисление функции с помощью разложения в ряд)
C++ Вычисление заданной функции разложением ее в ряд с использованием рекурсии
Найти факториал с помощью рекурсии C++
C++ Почему вычисление числа Фибоначчи с помощью рекурсии медленнее, чем без нее?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SashaPinsk
 Аватар для SashaPinsk
39 / 37 / 2
Регистрация: 27.12.2009
Сообщений: 73
26.10.2010, 00:07     Вычисление функции с помощью рекурсии #2
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
#include <iostream>
#include <cmath>
 
using std::cin;
using std::cout;
 
double function(int);
 
int main()
{
    int n;
    
    cout << "Input n: ";
    cin >> n;
    cout << function(n);
    fflush(stdin);
    cin.get();
    return 0;
}
 
double function(int t)
{
    double result;
    if(t < 2) return 0; //Или что-нибудь ещё сообщающее об ошибке ввода
    result = pow(sin(double(t)), 3) / (t * t - 1);
    if(t == 2)
        return result;
    else
        return result + function(t - 1);
}
selevit
 Аватар для selevit
79 / 75 / 3
Регистрация: 08.10.2008
Сообщений: 296
26.10.2010, 10:35  [ТС]     Вычисление функции с помощью рекурсии #3
SashaPinsk, спасибо, не стоило писать main
Yandex
Объявления
26.10.2010, 10:35     Вычисление функции с помощью рекурсии
Ответ Создать тему
Опции темы

Текущее время: 16:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru