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

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

Восстановить пароль Регистрация
Другие темы раздела
Visual C++ Как добавить метод, если кнопка "Add Method" неактивна? http://www.cyberforum.ru/cpp-beginners/thread182832.html
помогите кто нибудь! как добавить метод, если клавиша add Method не активна.
C++ заполнение массива случайным образом Помогите на языке Си заполнить массив символов случайным образом символами с кодами в диапазоне от 21 до 254 http://www.cyberforum.ru/cpp-beginners/thread182820.html
C++ Получение натуральных чисел.
Привет ребят!! :) Крайне нужна ваша помощь. Билась над программой всю ночь, а сегодня контрольная. Вы - последняя надежда. Очень буду признательна за помощь. Программу требуется составить на C.
Точки принадлежащие кругу C++
помогите решить пожалуйста Даны натуральное число n, действительные числа r, a1,..., an (n>=2). Сколько среди точек (a1, an), (a2, an-1),..., (an,a1) таких, которые принадлежат кругу радиуса r с центром в начале координат.
C++ Из введенной строки исключить слова, содержащие заданную букву http://www.cyberforum.ru/cpp-beginners/thread182807.html
Доброго времени суток, форумчане. Как и большинство подобных задач про строки на этом форуме, моя задача состоит из 3 задач, две из которых уже решены. Третье задание заключается в том, чтобы из введенной строки исключить слова, содержащие, например, букву 'i' , и потом то что осталось, вывести на экран. Если не сложно, то используйте стринг, а то я с чаром на Вы =)
C++ Выделение памяти под динамическую матрицу в С Люди помогите с 2 вопросами а то я чет не понимаю 1.Выделение памяти под динамическую матрицу в С(напише плиз как обьявлется матрица и как выделяется память ) 2.Как работает функция с возвращением матрицы в С (лучше всего с примером) подробнее

Показать сообщение отдельно
Dexter
 Аватар для Dexter
284 / 144 / 16
Регистрация: 13.10.2009
Сообщений: 164
28.10.2010, 12:48     Проверка ряда Фибонначи с испльзованием рекурсии.
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.
Перечитайте правила
 
Текущее время: 15:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru