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

Числа Фибоначчи - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 35, средняя оценка - 4.89
Nev{!}DimK'@
0 / 0 / 0
Регистрация: 18.12.2009
Сообщений: 5
18.12.2009, 22:29     Числа Фибоначчи #1
1ое задание:
Числа Фибоначчи определяются формулами
f0 =f1 = 1; fn = fn-1 + fn-2 при n =2,3,…
Определить 40-е число Фибоначчи, найти первое число Фибоначчи, большее m (m>2).


2ое задание:
Даны действительные числа a, b, c. Получить
(max(a, a + b) + max(a, b + c))/ (1 + max(a + bc, 1.15)).

3е задание:
Даны целые числа a1,a2,… Известно, что ai>0 и что среди a2, a3,… есть хотя бы одно отрицательное число. Пусть a1, … , an – члены данной последовательности, предшествующие первому отрицательному члену ( n заранее не известно). Получить:
min(a1 + a2, a2 +a3, …, an-1 + an ).
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
tito
 Аватар для tito
6 / 6 / 0
Регистрация: 11.05.2008
Сообщений: 37
18.12.2009, 22:49     Числа Фибоначчи #2
Эти задачи ришались миллиард раз...нужно просто поюзать поиск))
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
18.12.2009, 22:55     Числа Фибоначчи #3
насчет числе фибоначи:
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>
#include<conio.h>
using namespace std;
 
int fibonachi(int i)
{
    if (i>=0)
    {
       if (i==0) return 0;
       if (i==1) return 1;
       return fibonachi(i-2) + fibonachi(i-1);
    }else if(i%2==0)return -fibonachi(-i);
          else return fibonachi(-i);
    
}
     
int main()
{
    cout <<"Enter number ";
    int n;
    cin >> n;
    cout << fibonachi(n) << endl;
    getch();
}
ибо такого я не встречал, тут еще и отрицательные числа фибоначи можно вычислять
Nev{!}DimK'@
0 / 0 / 0
Регистрация: 18.12.2009
Сообщений: 5
18.12.2009, 22:58  [ТС]     Числа Фибоначчи #4
Цитата Сообщение от tito Посмотреть сообщение
Эти задачи ришались миллиард раз...нужно просто поюзать поиск))
ну кинь ссылку хотя бы на одну из них
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
18.12.2009, 23:17     Числа Фибоначчи #5
вторая прога
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
#include<conio.h>
using namespace std;
 
int main()
{
    double a,b,c;
    cout << "Enter a,b,c\n";
    cin >> a;
    cin >> b;
    cin >> c;
    cout << ((a>a+b)?(a):(a+b) + (a>b+c)?(a):(b+c))/(1 + (a+b*c>1.15)?(a+b*c):(1.15)) << endl;   
    getch();
}
проверять лень

Добавлено через 8 минут
3-е задание не пойму, там нужно массив использовать? если нет то как тогда вычислять эти члены, по какой формуле.
Nev{!}DimK'@
0 / 0 / 0
Регистрация: 18.12.2009
Сообщений: 5
18.12.2009, 23:43  [ТС]     Числа Фибоначчи #6
Цитата Сообщение от Aye Aye Посмотреть сообщение
3-е задание не пойму, там нужно массив использовать? если нет то как тогда вычислять эти члены, по какой формуле.
да, через массив
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
19.12.2009, 13:24     Числа Фибоначчи #7
вот, развлекайсся
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <time.h>
#include <iostream>
#include <conio.h>
using namespace std;
void getfull(int s[],int n) //заполнение массива случайными числами
{
            srand((unsigned int)time(0));
            for (int i=0;i<n;i++)
            s[i]=rand()%10-2; // диапозон от -2 до 5.
}
 
int sum(int m[],int from, int to, int max)
{
    //int m[] - собственно массив, надо бы его по ссылке передавть но мне лень.
    //int from - индекс певого слагемого.
    //int to - индекс второго слагаемого.
    //int max - индекс элеента до которово будем смотреть, сумма какой пары нам нужна.
    //перебираемые пары, на экран индексы пар выводятся
    cout << "piar=" << from << "-" << to << endl;
    int s1=0;
    if (to<max-1) s1=m[from]+m[to]; // если это еще не последняя пара в ряду до отрицательного члена, то узнать ее сумму.
    if (to==max-1) return m[from]+m[to];//ели последняя пара то вернуть её сумму для сраввнения.
    int s2=0; //узанать сумму следующей пары.
    s2=sum(m,to,to+1,max);
    return (s1<=s2)?(s1):(s2);//и вернуть сумму следующей или текущей парв, смотря кто меньше.
}
 
int main ()
{
    const int n=20;//длина массива.
    int M[n]; //источник.
    getfull(M,n);
    int pos_of_negativ=0;//номер первого отрицательного члена.
    //определение номера первого отрицательного члена.
    for (int i=0;i<n;i++)
        if(M[i]<0)
        { 
          pos_of_negativ=i;
          break;
        }
    //распечатка массива.
    for (int i=0;i<n;i++) cout << M[i] << " ";
    cout << endl;
    //вывод наименьшей суммы двух членов до первого отрицательного члена.
    cout << sum(M,0,1,pos_of_negativ) << endl;
    getch();
    return 0;
}
Добавлено через 13 часов 6 минут
блин... недосмотрел там s[i]=rand()%10-2; диапозон от -2 до 10 а не до 5 как написано в коментах выше, но это не важно для правельной работы проги.
MotherBoard
Путешественница
 Аватар для MotherBoard
1250 / 478 / 11
Регистрация: 22.02.2009
Сообщений: 2,843
19.12.2009, 14:37     Числа Фибоначчи #8
Nev{!}DimK'@, Метки ставим! Чтобы другие пользователи могли бы юзать поиск!

За вас ссылки никто не будет искать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2013, 20:17     Числа Фибоначчи
Еще ссылки по теме:

C++ Числа Фибоначчи
C++ Числа Фибоначчи
Числа Фибоначчи, простые числа и делители C++

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

Или воспользуйтесь поиском по форуму:
monochromer
 Аватар для monochromer
374 / 342 / 132
Регистрация: 03.01.2013
Сообщений: 900
28.05.2013, 20:17     Числа Фибоначчи #9
Если кто вдруг наткнется на эту тему в поисках способов вычисления чисел Фибоначчи, то здесь можно найти почти все методы решения такой задачи:
http://ru.wikibooks.org/wiki/%D0%92%...87%D1%87%D0%B8
Yandex
Объявления
28.05.2013, 20:17     Числа Фибоначчи
Ответ Создать тему
Опции темы

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