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

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

Войти
Регистрация
Восстановить пароль
 
to
19 / 19 / 0
Регистрация: 28.10.2010
Сообщений: 296
#1

Проверка ряда Фибонначи с испльзованием рекурсии. - C++

28.10.2010, 12:17. Просмотров 377. Ответов 3
Метки нет (Все метки)

Помогите написать программу которая будет проверять введенные с клавиатруы числа на пренадлежность их к ряду Фибонначи использую рекурсию. Или хоть как-то намекните как это делать. Заранее благодарен!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2010, 12:17     Проверка ряда Фибонначи с испльзованием рекурсии.
Посмотрите здесь:

Программа с испльзованием функция - C++
Здравствуйте ув. форумчане. Помогите написать программу: Написать и протестировать функцию для приблизительного счисления функции...

Фибонначи - C++
Задача, вывести все числа из ряда фибоначчи в промежутке от n1 до n2 проблема в том что, вывводит значения только при n1=1,а при n1!=1...

Фибонначи 2 - C++
Доброго времени суток, задача вывести первые n чисел фибонначи, вот в принципе мои наброски, найдите ошибку пожалуйста ...

число Фибонначи - C++
Здравствуйте!!!Помогите пожалуйста решить задачу по Си... Дано натуральное число N>10. Вычислить сумму всех чисел Фибоначчи, которые...

последовательность Фибонначи - C++
Пожалуйста, помогите мне)) очень нужно написать программу: Дана последовательность из N натуральных чисел. Определить сколько чисел...

С++ числа Фибонначи - C++
Члены классического ряда Фибоначчи вычисляются по следующему правилу f0=0,f1=1,fi=fi-1 + fi-2 . Начало ряда выглядит следующим образом: 0,...

Фибонначи, определить соседние члены - C++
ввод двух чисел, нужно определить. являются ли они соседними членами Фибоначчи. напомню, Фибоначчи определяется F1=F2=1; F(i-1)+F(i-2); i...

Сумма ряда. Число повторений цикла. Нужна проверка и помощь - C++
Текст задания находится во вложении. Сумма ряда и выражение для проверки не сходятся, хотя сделано по аналогичному примеру. Не могу...

рекурсии... - C++
задание: Во входном файле задано без ошибок логическое выражение следующего вида : <логическое выражение>::=...

Найти 10 членов ряда, абсолютную разность между табличной функцией и суммой ряда - C++
Требуется определить: 10 членов ряда, абсолютную разность между табличной функцией и суммой ряда. Для вычисления члена ряда нужно...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dexter
285 / 145 / 16
Регистрация: 13.10.2009
Сообщений: 164
28.10.2010, 12:25     Проверка ряда Фибонначи с испльзованием рекурсии. #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
int Check(int n,int a,int b)
{
    if(a==n)return 1;
    if(b>n)return 0;
    return Check(n,a+b,a);
}
int main() 
{ 
  int n;
  cout<<"Enter number. N=";
  cin>>n;
  if(Check(n,1,1))
      cout<<"Fibonachi"<<endl;
  else
      cout<<"Not fibonachi"<<endl;
  system("pause");
}
to
19 / 19 / 0
Регистрация: 28.10.2010
Сообщений: 296
28.10.2010, 12:32  [ТС]     Проверка ряда Фибонначи с испльзованием рекурсии. #3
Спасибо! а можно это как-то сделать без выхода с программы, тоесть что бы вводить не одно число а несколько?
А можете чуть обьяснить по программе??
Мне не понятно какое значение у переменных а и b. обьясните если не трудно)
Dexter
285 / 145 / 16
Регистрация: 13.10.2009
Сообщений: 164
28.10.2010, 12:48     Проверка ряда Фибонначи с испльзованием рекурсии. #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>
using namespace std;
int Check(int n,int a,int b)
{
        if(a==n)return 1;
        if(b>n)return 0;
        return Check(n,a+b,a);
}
int main() 
{ 
  int n;
  do{
  cout<<"Enter number. N=";
  cin>>n;
  if(Check(n,1,1))
          cout<<"Fibonachi"<<endl;
  else
          cout<<"Not fibonachi"<<endl;
  }while(n);
  system("pause");
}
Выход - ввод нуля.
Числа a и b - два текущих числа фибоначи. В начале вводятся первые два из ряда, это единицы.
На шаге рекурсии - сравниваем, равно ли большее из двух нашему числу, если да, то это число принадлежит ряду. Если меньшее число из последовательности больше искомого, значит мы уже проскочили и соответствия не было, то есть число не является числом фибоначи. Если же ни то ни то, то увеличиваем шаг рекурсии и берем следующие два числа ряда фибоначи.

P.S. кнопка спасибо есть под каждым сообщением.

 Комментарий модератора 
А у меня под каждым сообщением есть кнопка, нажав которую, я могу выдать вам карточку за нарушение правил п. 3.9.
Перечитайте правила
Yandex
Объявления
28.10.2010, 12:48     Проверка ряда Фибонначи с испльзованием рекурсии.
Ответ Создать тему
Опции темы

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