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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
IIIa66uMEM6eP
заставил Бендера
433 / 289 / 10
Регистрация: 05.12.2010
Сообщений: 1,642
Записей в блоге: 6
#1

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

23.03.2011, 21:13. Просмотров 361. Ответов 4
Метки нет (Все метки)

ввод двух чисел, нужно определить. являются ли они соседними членами Фибоначчи.
напомню, Фибоначчи определяется F1=F2=1; F(i-1)+F(i-2); i > 2;
подскажите как задать условие, что они соседние..
PS: использовать только циклы, без указателей, функций, строк и прочего.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2011, 21:13     Фибонначи, определить соседние члены
Посмотрите здесь:

C++ Фибонначи
Фибонначи 2 C++
число Фибонначи C++
Соседние цифры в числе C++
Соседние цифры в числе C++
C++ Проверка ряда Фибонначи с испльзованием рекурсии.
Упорядочить массив так, чтобы сначала иши упорядоченные положительные члены а потом упорядоченные отрицательные члены C++
C++ Не используя функций определить члены последовательности, являющиеся квадратами четных чисел
C++ последовательность Фибонначи
Определить, есть ли в последовательности одинаковые соседние числа C++
C++ Определить, начиная с какого i члены последовательности становятся меньше заданного положительного числа Е
С++ числа Фибонначи C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
23.03.2011, 21:22     Фибонначи, определить соседние члены #2
массив использовать тоже нельзя?
IIIa66uMEM6eP
заставил Бендера
433 / 289 / 10
Регистрация: 05.12.2010
Сообщений: 1,642
Записей в блоге: 6
23.03.2011, 21:24  [ТС]     Фибонначи, определить соседние члены #3
Mayonez, к сожалению, тема лабы ветвление и циклы
Mayonez
380 / 272 / 21
Регистрация: 26.12.2009
Сообщений: 875
23.03.2011, 21:44     Фибонначи, определить соседние члены #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>
 
const int max = 40;
 
int main()
{
    std::locale::global(std::locale(""));
    int a, b;
    std::cout << "Введите два числа:" <<std::endl;
    std::cin >> a >> b;
    int f1 = 0;
    int f2 = 1;
    int i = 0;
    bool y = 0;
    while (i < max)
    {
        int f3 = f1 + f2;
        f1 = f2;
        f2 = f3;
        if (a == f3 || b == f3)
        {
            if (a == f1 + f2 || b == f1 + f2)
                y = 1;
        }
        i++;
    }
    std::cout << "Эти числа" << (y ? " " : " НЕ ") 
              << "являються соседними в последовательности Фибоначчи!"
              << std::endl;
    return 0;
}
так как последовательность Фибоначчи бесконечна, задана некая константа мах, которая определяет, когда нужно прекратить перебор.

Добавлено через 8 минут
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>
 
const int max = 24157817 + 1; //какой-то там по счету член + 1
 
int main()
{
    std::locale::global(std::locale(""));
    int a, b;
    std::cout << "Введите два числа:" <<std::endl;
    std::cin >> a >> b;
    int f1 = 0;
    int f2 = 1;
    int i = 0;
    bool y = 0;
    while (i < max)
    {
        if ( (a == f1 && b == f2) || (b == f1 && a == f2) )
        {
            y = 1;
            break;
        }
        int change = f2;
        f2 += f1;
        f1 = change;
        i++;
    }
    std::cout << "Эти числа" << (y ? " " : " НЕ ") 
              << "являються соседними в последовательности Фибоначчи!"
              << std::endl;
    return 0;
}
Изменил, а то на 1 1 выдавало НЕТ

Добавлено через 2 минуты
37
IIIa66uMEM6eP
заставил Бендера
433 / 289 / 10
Регистрация: 05.12.2010
Сообщений: 1,642
Записей в блоге: 6
23.03.2011, 22:33  [ТС]     Фибонначи, определить соседние члены #5
Mayonez, да да, я заметил, поправил, там еще i должно быть больше 2, и ф1 и ф2 установлены в 1, так как каждый последующий член, это новый + второй.
спс за бдительность)

Добавлено через 1 минуту
Mayonez, как же вы эти вызовы используете, это сколько лишнего кода... для русского языка.
Yandex
Объявления
23.03.2011, 22:33     Фибонначи, определить соседние члены
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru