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

Рекурсивное вычисление n-ого числа Фибоначчи - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Что говорит и что хочет компилятор? Linking stage skipped http://www.cyberforum.ru/cpp-beginners/thread1794974.html
-------------- Clean: Debug in T (compiler: GNU GCC Compiler)--------------- Cleaned "T - Debug" -------------- Build: Debug in T (compiler: GNU GCC Compiler)--------------- Linking stage skipped (build target has no object files to link) Nothing to be done (all items are up-to-date).
C++ Strtok для string Есть ли какая-то функция, которая осуществляет strtok для string(из <string>) ? http://www.cyberforum.ru/cpp-beginners/thread1794916.html
C++ Чем отличается <string> и <cstring>?
Добрый день! Подскажите, чем отличается string и cstring, использующиеся в заголовке?
Fstream не может и записывать в файл, и считывать из него? C++
fstream file("as.txt"); int number = 7; file << number; int numb; file >> numb; cout << numb << endl; file.close(); Такой, казалось бы, простой код, но не работает. А вот так все нормально:
C++ Пропускает ввод данных после for http://www.cyberforum.ru/cpp-beginners/thread1794902.html
После заполнения вектора и выхода из цикла for программа завершается . Почему компилятор не переходит к следующему циклу while ? . #include "iostream" #include "vector" using namespace std; int main() { vector <int> a ;
C++ Использование контейнера list Не могу из методички с задачками по контейнерам решить пару из них. Есть список целых чисел (std::list<int>). Нужно, за один проход, из него удалить все элементы, которые в сумме с предыдущим элементом дают 10. #include <string> #include <iostream> // cout #include <list> подробнее

Показать сообщение отдельно
SamBars
 Аватар для SamBars
13 / 13 / 8
Регистрация: 06.10.2015
Сообщений: 88
17.08.2016, 01:11     Рекурсивное вычисление n-ого числа Фибоначчи
Пример вычисления n-ого числа Фибоначчи с помощью n/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
#include <iostream>
unsigned int fibonachi(unsigned int n)
{
    if(0==n || 1==n ||2==n)
        return (n+1)/2;
    if(n%2 == 0)
    {
        unsigned int t3 = fibonachi(n/2);
        unsigned int t4 = fibonachi(n/2-1);
        return (t3 + t4)*t3 + t3*t4;
    }
    int k = n/2;
    unsigned int t = fibonachi(k +1);
    unsigned int t1 = fibonachi(k);
    return  t*t + t1*t1;
}
 
int main()
{
    unsigned int n;
    std::cin>>n;
    std::cout<<fibonachi(n);
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru