Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
djair
1 / 2 / 4
Регистрация: 22.09.2015
Сообщений: 12
#1

Рекурсивная функция, которая возвращает сумму n чисел Фибоначчи

27.09.2015, 14:10. Просмотров 1031. Ответов 4
Метки нет (Все метки)

Помогите решить задачу

Написать рекурсивную функцию, которая возвращает сумму n чисел Фибоначчи. Число n принимается в качестве аргумента.

я написал код который ищет число, но как сделать сумму не могу понять, помогите плизз!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <windows.h>
using namespace std;
int fi(int n) {
    int sum = 0;
    if (n <= 2) {
        return 1;
    }
    else {
        return fi(n - 1) + fi(n - 2);
    }
}
void main() {
    SetConsoleOutputCP(1251);
    cout << fi(4) << endl; 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2015, 14:10
Ответы с готовыми решениями:

Написать функцию, которая возвращает сумму n чисел Фибоначчи. Число n принимается в качестве аргумента
Кто знает, как решается задача на С++: написать функцию, которая возвращает...

Рекурсивная функция: вычисление чисел Фибоначчи
#include &lt;iostream&gt; #include &lt;windows.h&gt; using namespace std; int fib(int n)...

Рекурсивная функция: вычисление суммы чисел Фибоначчи, пока они меньше введенного числа
Вроде примитивная задача, но реализовать не смог, да и нигде такого не...

Функция, которая возвращает сумму квадратов параметров
разработайте заданную функцию( 1) с тремя входными параметрами типа float x,...

Функция которая принимает вектор указателей на числа и возвращает их сумму
Напиши ф-цию, которая принимает вектор указателей на unsigned long, складывает...

4
zer0mail
2452 / 2089 / 216
Регистрация: 03.07.2012
Сообщений: 7,569
Записей в блоге: 1
27.09.2015, 15:04 #2
S(n)=S(n-1)+S(n-2)+1
0
djair
1 / 2 / 4
Регистрация: 22.09.2015
Сообщений: 12
27.09.2015, 15:41  [ТС] #3
я вот написал, считает правильно, но код мне не нравится

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <windows.h>
using namespace std;
int fi(int n) {
    int sum = 0;
    if (n <= 0) {
        return 1;
    }
    else {
        return sum = fi(n - 1) + fi(n - 2);
    }
}
void main() {
    SetConsoleOutputCP(1251);
    int rez = fi(12); 
    cout << rez - 1 << endl;
}
0
_Ivana
3233 / 1861 / 235
Регистрация: 01.03.2013
Сообщений: 5,091
Записей в блоге: 5
27.09.2015, 16:38 #4
Тупо в лоб, без волшебных формул:
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
typedef unsigned long long int ull;
 
int main() {
    auto f = [](int i, ull a, ull b, ull c, const auto& la) -> ull {
        return i ? la(i-1,b,a+b,c+a,la) : c;};
    int n; cin>>n; cout<<f(n,0,1,0,f);
    return 0;
}
0
djair
1 / 2 / 4
Регистрация: 22.09.2015
Сообщений: 12
27.09.2015, 22:26  [ТС] #5
Спасибо за код, но у меня задание сделать это рекурсивной функцией.
0
27.09.2015, 22:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2015, 22:26

Рекурсивная функция, которая находит позицию начала последовательности из 10 чисел, сумма которых минимальна
Добрый день, помогите пожалуйста с программой. Напишите рекурсивную функцию,...

Функция, которая возвращает разность двух целых чисел
написать функцию, которая возвращает разность двух целых чисел, полученных в...

Функция которая возвращает минимальное из двух целых чисел С++
Написать функцию, которая возвращает минимальное из двух целых чисел,...


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

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

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