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

Вычислить сумму всех чисел Фибоначи, которые не превосходят 100. - C++

Восстановить пароль Регистрация
 
Артём 33регион
0 / 0 / 0
Регистрация: 15.02.2013
Сообщений: 5
15.02.2013, 15:05     Вычислить сумму всех чисел Фибоначи, которые не превосходят 100. #1
Вычислить сумму всех чисел Фибоначи, которые не превосходят 100.
числа фибоначи: 1, 1, 2,3,5,8,13,21,34,55,89.
ЗАРАНЕЕ БЛАГОДАРЮ.МИР!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2013, 15:05     Вычислить сумму всех чисел Фибоначи, которые не превосходят 100.
Посмотрите здесь:

вычислить сумму чисел от 1 до 100 C++
Квадратная матрица: Вычислить сумму элементов, расположенных на главной диагонали и выше, которые превосходят все элементы C++
Вычислить сумму всех чисел Фибоначчи, которые не превосходят 100 C++
C++ Дано n вещественных чисел, которые вводятся с клавиатуры. Вычислить сумму чисел, кратных 3
C++ Дана последовательность из М чисел. Вычислить сумму и количество чисел, которые меньше 5
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Пaтрик
 Аватар для Пaтрик
394 / 387 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
15.02.2013, 15:10     Вычислить сумму всех чисел Фибоначи, которые не превосходят 100. #2
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <numeric>
 
 
int main()
{
    int a[] = { 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 };
    std::cout << std::accumulate(std::begin(a), std::end(a), 0);
}
http://ideone.com/XjbuFC
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
15.02.2013, 16:41     Вычислить сумму всех чисел Фибоначи, которые не превосходят 100. #3
C++
1
2
3
4
5
6
7
8
9
10
11
int a=1,b=1,sum=2,n;
cout>>"Введите придел вычислений: ";
cin<<n;
cout>>"Ряд Фибоначи: 1 1 ";
while(b+a<n){
    b=a+b;
    cout<<b<<" ";
    sum+=b;
    a=b-a;
}
cout<<endl<<"Сумма ряда: "<<sum<<endl;
Venom33
 Аватар для Venom33
19 / 19 / 0
Регистрация: 26.01.2013
Сообщений: 287
15.02.2013, 17:28     Вычислить сумму всех чисел Фибоначи, которые не превосходят 100. #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <conio.h>
 
using std::cout;
using std::endl;
 
int fib(int n)
{
    if (n < 3)
        return 1;
    else
        return (fib(n-2) + fib(n-1));
}
 
int main()
{
    for(int i = 1; i <= 100; i++)
        cout << fib(i) << endl;
    _getch();
    return 0;
}
Артём 33регион
0 / 0 / 0
Регистрация: 15.02.2013
Сообщений: 5
15.02.2013, 18:08  [ТС]     Вычислить сумму всех чисел Фибоначи, которые не превосходят 100. #5
какая будет по проще, по легче
не подскажите?
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
15.02.2013, 18:38     Вычислить сумму всех чисел Фибоначи, которые не превосходят 100. #6
Цитата Сообщение от Venom33 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <conio.h>
 
using std::cout;
using std::endl;
 
int fib(int n)
{
    if (n < 3)
        return 1;
    else
        return (fib(n-2) + fib(n-1));
}
 
int main()
{
    for(int i = 1; i <= 100; i++)
        cout << fib(i) << endl;
    _getch();
    return 0;
}
ОООООЧЕНЬ трудоемкий процесс. На вывод 50 чисел ушло минут 5, на 100 первых чисел боюсь уйдет больше месяца....
C++
1
2
3
4
5
6
7
8
9
cout<<"Ряд Фибоначи: 1 1 ";
int count=0,a=1,b=1;
while(count!=100){
    b=a+b;
    cout<<b<<" ";
    sum+=b;
    a=b-a;
    count++;
}
намного быстрее
Venom33
 Аватар для Venom33
19 / 19 / 0
Регистрация: 26.01.2013
Сообщений: 287
15.02.2013, 18:52     Вычислить сумму всех чисел Фибоначи, которые не превосходят 100. #7
дело в том, что это раздел для начинающих и,порой,ты знаешь только на начальном уровне все операторы. а бывает и препод спросит, что это делает, что это делает.
кстати, using std::cout;
using std::endl; тоже уже сложнее будет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2013, 19:40     Вычислить сумму всех чисел Фибоначи, которые не превосходят 100.
Еще ссылки по теме:

C++ Вычислить сумму тех из m элементов, которые превосходят по величине все элементы, расположенные ниже главной диагонали
C++ Вычислить сумму всех чисел Фибоначчи, которые не превосходят 1000
C++ Найти сумму квадратов последовательности, которые не превосходят двух

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

Или воспользуйтесь поиском по форуму:
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
15.02.2013, 19:40     Вычислить сумму всех чисел Фибоначи, которые не превосходят 100. #8
Цитата Сообщение от Venom33 Посмотреть сообщение
дело в том, что это раздел для начинающих и,порой,ты знаешь только на начальном уровне все операторы. а бывает и препод спросит, что это делает, что это делает.
кстати, using std::cout;
using std::endl; тоже уже сложнее будет

Не по теме:

полностью согласен, но другое дело что сами по себе cout и endl в том виде которые представил я просто выводят текст на экран и делаю переход на новую строку. Никаких перегрузок и т.п. в остальном сложности не представляет код. представление алгоритма "в лоб", что кстати в основном не правильно и трудоемко =) C другой стороны использование рекурсивных функций сложно для понимания сразу, особенно если тело функции представляет собой только возвратить то либо другое, без каких либо действий =)Я достаточно долго вникал что есть рекурсия и как она работает, вникнув по нормальному (вникнув значит стал писать функции как раз такого вида как ваш пример,а не что-то похожее на рекурсию, где по большому счету идет замена циклу) гдето к началу 3го курса университета =)

Yandex
Объявления
15.02.2013, 19:40     Вычислить сумму всех чисел Фибоначи, которые не превосходят 100.
Ответ Создать тему
Опции темы

Текущее время: 18:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru