Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
Hempleg
1

Вычисление числа из последовательности Фибоначчи без использования массива

08.09.2013, 23:36. Показов 2960. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Последовательность Фибоначчи определяется так: a(0) = 1 ; a(1) = 1; a (k) = a(k-1) + a(k-2).
Дано k, вычислить a(k). Не использовать массив!
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.09.2013, 23:36
Ответы с готовыми решениями:

Числа Фибоначчи без использования рекурсии и массивов
int a, b=0, c=1; cout<<"Введите число Фибоначчи: "<<endl; cin>>a; for(int i=2;i<=(a-3);i++) {...

Почему вычисление числа Фибоначчи с помощью рекурсии медленнее, чем без нее?
Почему, к примеру вычисление числа Фибоначчи с помощью рекурсии, когда #include<iostream> using...

Обработка последовательности без использования массива (использовать (do while)
Дан набор ненулевых целых чисел; признак его завершения — число 0. Вывести сумму всех положительных...

Вычисление суммы знакопеременного ряда (без использования массива)
1. Составить программу вычисления суммы для заданного действительного числа x: ...

4
2664 / 2239 / 240
Регистрация: 03.07.2012
Сообщений: 8,141
Записей в блоге: 1
08.09.2013, 23:40 2
Заведи три переменные - в чем проблема-то?
0
Hempleg
09.09.2013, 00:19 3
И? Я так и пытался , но как конкретно высчитать нужное a(n) не догоняю.
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
#include <iostream>
using namespace std;
 
int main()
{
    int n, a, b, c;
 
    cout << "Enter the number: \n";
    cin >> n;
 
    a = 1; b = 1; c = 2;
    if ((n == 0) || (n == 1)) 
        cout << "a(" << n << ") = 1\n";
    else
    {
       for (int i = 2; i < n; i++)
       {
           c = a + b;
           a = c + b;
           b = a + c;
       }
    }
 
 /*   cout << c << endl;
    cout << a << endl;
    cout << b << endl; */
 
    return 0;
}
415 / 411 / 95
Регистрация: 06.10.2011
Сообщений: 832
09.09.2013, 00:24 4
и как тут можно применить массив?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cstdint>
 
int64_t fibonacci(int64_t k)
{
    return k > 1ll ? fibonacci(k - 1ll) + fibonacci(k - 2ll) :
                k < -1ll ? fibonacci(k + 2ll) - fibonacci(k + 1ll) :
                    k ? 1ll : 0ll;
}
 
int main()
{
    for (;;) {
        int64_t k; std::cin >> k;
        std::cout << "\t" << fibonacci(k) << std::endl;
    }
    return 0;
}
0
2664 / 2239 / 240
Регистрация: 03.07.2012
Сообщений: 8,141
Записей в блоге: 1
09.09.2013, 15:35 5
Рекурсия часто экономит текст программы, но еще чаще жрет ресурсы процессора и памяти.
Что мешает ТС набрать примерно такой текст:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main()
{
    int i, n, a, b, c;
    cout << "Enter the number: ";
    cin >> n;
    a = 1;
    for (i = b = 0; i < n; i++)
    {
         c  = a;
         a += b;
         b  = c;
    }
    cout<<"a(" << n << ") = "<<a<<endl;
}
А ?
0
09.09.2013, 15:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.09.2013, 15:35
Помогаю со студенческими работами здесь

Вычисление квадратного корня из числа (без использования стандартных математических функций)
Напишите программу, вычисляющую квадратный корень из числа (не пользуясь стандартными...

Определяет цифру, стоящую на указанном месте последовательности без использования массива
2. Составить программу, которая по введенному натуральному числу n, обозначающему позицию в...

Вычислить максимальное по модулю число из последовательности действительных чисел, без использования массива
Даны натуральные n, действительные числа a1..an. Получить max(|a1|,..,|an|)

Поиска среди элементов последовательности трех таких чисел, произведение которых максимально (без использования массива)
Дана последовательность из N натуральных чисел, оканчивающаяся 0. Составить программу поиска среди...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru