Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> число Фибоначи 
:(
    Опции темы
zizy
Дата 25.11.2008, 04:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 25.11.2008

Репутация: нет
Всего: нет



приветствую всех! 
попалась вот такая вот задачка (я в C++ под DOS только начинаю работать)

вот такая вот задачка про числа Фибоначи:

Дано натуральное число n. Определить n-ое число Фибоначчи. Числа Фибоначчи определяются 
формулами f1 = f2 = 1; fn = fn-1 + fn-2 при n = 3, 4, …, то есть два первых члена равны единице, а 
каждый следующий член является суммой двух предыдущих. 


не врублюсь как это условие запрограммировать на C++  под DOS....помогите плиз.
рекурсивный метод в Pascale работает вот так:


uses crt;
Var
  n : integer;
  a : integer;
function fib(n: integer): integer;
 begin
       if n in [1..2] then fib:=1
      else
       fib:=fib(n-1)+fib(n-1)+fib(n-2);
    end;
begin
clrscr;
writeln('Vvedite chislo');
readln(n);
a:=fib(n);
writeln(a);
readkey;
end.


Это сообщение отредактировал(а) zizy - 25.11.2008, 04:46
PM MAIL   Вверх
chaos
Дата 25.11.2008, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: нет
Всего: 44



zizy, рекурсия батенька.
плохо ищите. в инете полно примеров. + заметил что вы на паскале код привели smile это в соседний раздел
PM WWW   Вверх
IKM2007
Дата 25.11.2008, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зима близко
**


Профиль
Группа: Участник
Сообщений: 702
Регистрация: 26.4.2008
Где: olmedreca

Репутация: 3
Всего: 40



Код

int f(int n)
{
if(n==1||n==2)
return 1;
return f(n-1)+f(n-2);
}



--------------------
"К чёрту обстоятельства, я создаю возможности."
Брюс Ли
PM MAIL Skype   Вверх
Hades
Дата 25.11.2008, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 226
Регистрация: 8.8.2008

Репутация: нет
Всего: 37



можно обойтись и без рекурсии
Код

int fibonacci(int value) {
    int f1 = 0;
    int f2 = 1;

    for (int i = 0; i < value; ++i) {
        f1 += f2;
        f2 = f1 - f2;
    }

    return f1;
}


P.S. откуда такая мода решать Фибоначчи через рекурсию.
PM MAIL   Вверх
girlsbest
Дата 26.11.2008, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 19.10.2008

Репутация: нет
Всего: нет



Код

# include <iostream>
# include <cmath>
using namespace std;
int main()
{
 int a1 = 1,a2 = 1,i = 2 ;
 int a3 ;
    while ( i != 10)
    {
        a3 = a2 + a1;
  a1 = a2 ;
  a2 = a3 ;
  i = i + 1 ;
  cout<< a3 << endl;
    }
  return 0;
}



а мы вот так писали)))) smile 
PM MAIL   Вверх
mes
Дата 26.11.2008, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Hades,  int f1 = 1;


--------------------
PM MAIL WWW   Вверх
Hades
Дата 26.11.2008, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 226
Регистрация: 8.8.2008

Репутация: нет
Всего: 37



Код

int main() {
    for(int i = 1; i < 10; ++i)
        cout << fibonacci(i) << " ";

    return 0;
}

Выводит: 1 1 2 3 5 8 13 21 34

f1 = 1;  f2 = 1;  f3 = 2; ...
Числа Фибоначчи

mes, я где-то не прав?
PM MAIL   Вверх
mes
Дата 26.11.2008, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Hades @  26.11.2008,  23:06 Найти цитируемый пост)

mes, я где-то не прав?

sorry, я ступил  smile 


--------------------
PM MAIL WWW   Вверх
J0ker
Дата 28.11.2008, 07:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 986
Регистрация: 17.9.2008

Репутация: 9
Всего: 14



Цитата(Hades @  25.11.2008,  23:56 Найти цитируемый пост)
P.S. откуда такая мода решать Фибоначчи через рекурсию. 

задачи на фибоначи и вообще ряды - это скорее следствие изучения рекурсии


--------------------
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0641 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.