Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
 Аватар для zazevur
0 / 0 / 0
Регистрация: 06.08.2019
Сообщений: 2

Вычисление n-ого члена Фибоначчи

06.08.2019, 14:11. Показов 2653. Ответов 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
#include <iostream>
using namespace std;
int main()
{
    int n;
    cin >> n;
    int*F=new int[n];//создали дин-ий массив
    int k;
    for(k=0;k<=n;k++)
    {
        F[0] = 0;//первые члены
        F[1] = 1;
 
        if (n == 0)
        {
            cout << F[0];
            exit(1);
        }
        if (n == 1)
        {
            cout << F[1];
            exit(1);
        }
 
        F[k] = F[k - 1] + F[k - 2];//формула Фибоначчи
        if (k>=n)
            cout << F[k];
        
    }
    delete(F);
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.08.2019, 14:11
Ответы с готовыми решениями:

Вывод N-ого члена последовательности
Здравствуйте, уважаемые форумчане! У меня опять несложный вопрос к тем кто разбирается. С модулями у меня плохо, поэтому обращаюсь сюда....

Рекурсия: нахождение 15-ого члена последовательности
Доброго времени суток, дорогие программисты! Прошу вновь помочь мне в решении одной задачи, пожалуйста, посмотрите код, подскажите, как...

Нахождение n-ого числа Фибоначчи
Знаходження N- го числа Фібоначчі. Перевод: Нахождение n-ого числа Фибоначчи

4
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
06.08.2019, 14:21
если ряд начинается с 1:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
int main() 
{ 
    int n;    
    cout << "n="; cin >> n;
   
    double a=0.0, b=1.0, temp=0.0;    
 
    for(int i=1; i<=n; i++)
    {
        temp=b;
        b+=a;
        a=temp;
    }
    
    cout << a << "\n";
    
system("pause");
return 0;
}
1
 Аватар для SomniPhobia
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,407
06.08.2019, 14:22
zazevur, привет!
Если
Первое число последовательности Фибоначчи -> 0,
второе -//- -> 1,
третье -//- -> 1,
четвёртое -//- -> 2,
...,
то
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
int main()
{
    setlocale(LC_ALL, "Rus");
 
    std::cout << "Введите номер числа Фибоначчи ";
    long long n;
    std::cin >> n;
    size_t old = 0u, now = 1u;
    for (;--n;)
    {
        size_t temp = now;
        now += old;
        old = temp;
    }
    std::cout << old << "\n";
 
    return 0;
}
Миниатюры
Вычисление n-ого члена Фибоначчи  
0
 Аватар для zazevur
0 / 0 / 0
Регистрация: 06.08.2019
Сообщений: 2
06.08.2019, 16:21  [ТС]
Я не понимаю,что вы написали
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
06.08.2019, 16:53
Цитата Сообщение от zazevur Посмотреть сообщение
Я не понимаю,что вы написали
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
int main()
{
    int n;
    cin >> n;
 
    if (n <= 1)
        cout << 0 << std::endl;
    else if (n == 2)
        cout << 1 << std::endl;
    else
    {
        int *F = new int[n];//создали дин-ий массив
 
        F[0] = 0;//первые члены
        F[1] = 1;
 
        int k = 2;
        for (; k < n; k++)
            F[k] = F[k - 1] + F[k - 2];//формула Фибоначчи
 
        cout << F[k - 1] << std::endl;
        delete(F);
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.08.2019, 16:53
Помогаю со студенческими работами здесь

Вывести на экран значения 0-ого, 3-ого и 13-ого битов числа n в формате short int
Задано число n в формате short int. Вывести на экран значения 0-ого, 3-ого и 13-ого битов представления в ЭВМ этого числа. Объяснить...

Реализовать алгоритм, вычисляющий N членов ряда Фибоначчи с i-ого по k-й включительно
Реализовать алгоритм, вычисляющий N членов ряда Фибоначчи с i-ого по k-й включительно. Вычисления прекращаются досрочно , если сумма...

Определение члена ряда Фибоначчи
У Дейтлов есть задача Вопросы по модификации: а) использовать double вместо int. То есть был код #include&lt;iostream&gt; ...

Разработайте функцию вычисления n-го члена рада Фибоначчи
Программа, которая позволяет найти предел отношения двух последовательных чисел ряда Фибоначчи с заданной точностью. Ряд Фибоначчи: 1 1...

Написать рекурсивную функцию для вычисления k-го члена последовательности Фибоначчи
Написать рекурсивную функцию для вычисления k-го члена последовательности Фибоначчи. Она образуется по закону f1=1, f2=1, fk=fi-1+fi-2...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru