С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
melanu
1 / 1 / 0
Регистрация: 10.03.2012
Сообщений: 120
#1

Рекурсивная функция - C++

29.10.2012, 22:07. Просмотров 502. Ответов 9
Метки нет (Все метки)

Вычислить элементы ряда с помощью рекурсивной функции. Порядок вычисления элементов ряда: a(1)=1, a(n)=5*(2n-1)n-a(n-1), n>0
подскажите пожалуйста как сделать, делала наброски но из этого ничего не вышло, как найти n-ый член ряда понимаю,а вычислить элементы ряда несовсем
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.10.2012, 22:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Рекурсивная функция (C++):

Рекурсивная функция! - C++
Разработать рекурсивную функцию, возвращающую значение , для вычисления n-го члена последовательности b1 =5, bn+1=bn/(n2+n+1). Не знаю...

Рекурсивная функция - C++
Выручайте! Очень нада сдать, сам не знаю как сделать. Описать рекурсивную функцию Combin2(N, K) целого типа, находящую C(N, K) — число...

Рекурсивная функция - C++
Последовательность многочленов определяется рекуррентными соотношениями: Т0(x) = 1, Т1(x) = x, Тn(x) = 2хТn-1(x) – Тn-2(x) ...

Рекурсивная функция - C++
Написать рекурсивную фукцию вычисления

рекурсивная функция - C++
Описать рекурсивную функцию Digits(S) целого типа, находящую количество цифр в строке S без использования оператора цикла. С помощью этой...

Рекурсивная функция - C++
Скласти програму з використанням рекурсивної функції, в якій обчислити суму 12 членів рекурентної послідовності : X0=1;X1=1;Xk=0,7Xk-1+...

9
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
29.10.2012, 22:34 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
// Вот у вас есть функция, вычисляющая a(n):
int a(int n)
{/* __ */}
 
int main()
{
    // Перебираете n = 1, 2, ... 100500 и выводите значения на экран
    for (int n = 1; n < 20; ++n) {
        std::cout << "a(" << n << ") = " << a(n) << "\n";
    }
}
 
// Не?
0
Marko
9 / 9 / 0
Регистрация: 05.07.2012
Сообщений: 38
29.10.2012, 22:34 #3
Видимо как-то так.
C++
1
2
3
4
5
6
int f(int N){
   if(N == 1)
      return 1;
   else
      return 5*(2*N-1)*N - f(N-1);
}
0
melanu
1 / 1 / 0
Регистрация: 10.03.2012
Сообщений: 120
29.10.2012, 22:46  [ТС] #4
#include <stdio.h>
int a(int n){
a(n)=5*(2*n-1)*n-a*(n-1);
}
int main(void){
int i,n;
for (n=1; i<20; ++i)
printf("Vivod a = %d\n",a(n));
return 0;
}

подскажите вчём здесь ошибка писала по вашему примеру
0
Marko
9 / 9 / 0
Регистрация: 05.07.2012
Сообщений: 38
29.10.2012, 22:54 #5
C++
1
2
3
int a(int n){
    a(n)=5*(2*n-1)*n-a*(n-1);
 }
Тут ошибка.
Посмотри на мой пост внимательнее и попробуй понять суть.
0
melanu
1 / 1 / 0
Регистрация: 10.03.2012
Сообщений: 120
29.10.2012, 23:02  [ТС] #6
#include <stdio.h>
int a(int n){
if(n == 1)
return 1;
else
return 5*(2*n-1)*n - a(n-1);
}
int main(void){
int n;
for (n=1; n<20; ++n)
printf("Vivod a = %d\n",a(n));
return 0;
}
я правильно поняла?
0
Marko
9 / 9 / 0
Регистрация: 05.07.2012
Сообщений: 38
29.10.2012, 23:05 #7
Ну, запусти @ проверь.
Я даже не компилил, просто показать суть рекурсии.
0
melanu
1 / 1 / 0
Регистрация: 10.03.2012
Сообщений: 120
29.10.2012, 23:11  [ТС] #8
тоесть если n = 1 то функция завершается, если же нет оно переходит в else и выполняется пока не достигнет нужного количества раз? а зачем a в этом выражении a(n-1)?
0
Marko
9 / 9 / 0
Регистрация: 05.07.2012
Сообщений: 38
29.10.2012, 23:17 #9
С каждой итерацией N будет уменьшаться, пока не достигнет 1, а когда достигнет, то возвратит 1 будет "обратная раскрутка" рекурсии.
То есть N == 1 это как бы условие останова.
0
melanu
1 / 1 / 0
Регистрация: 10.03.2012
Сообщений: 120
29.10.2012, 23:28  [ТС] #10
оке спасибки ето поняла)
0
29.10.2012, 23:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2012, 23:28
Привет! Вот еще темы с ответами:

рекурсивная функция - C++
Описать рекурсивную функцию вычисления значения по указанной формуле. Понимаю, что программа совсем лёгкая, но я никак не могу свыкнуться...

Рекурсивная функция - C++
Добрый день. Мне необходимо составить рекурсивную и нерекурсивную функцию для следующей задачи: найти сумму 12+22+42+72+112... (n...

Рекурсивная функция - C++
С клавиатуры вводится массив из 20 элементов. Заменить все отрицательные элементы суммой чётных! int x,h; void input(int i){ ...

рекурсивная функция - C++
Составить программу с рекурсивною функцией n!+m! де n=4,m=6.


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

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

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