Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.01.2008, 20:49   #1
Xeon332
Скоро сессия...
Форумчанин
 
Регистрация: 03.01.2008
Сообщений: 224
По умолчанию Рекурсия

Ребзя! ТАк и не прошли мы в учебном заведении тему Рекурсии, точнее прошли но не углублялись в неё...

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

Нужно написать программу с использованием Рекурсии...

function fib(n: integer): integer;
begin
if n in [1..2] then fib:=1
else fib:=fib(n-1)+fib(n-2);
end;

эт я как понимаю сама функция, и в программе её нужно "включить"... не соображаю)
Xeon332 вне форума Ответить с цитированием
Старый 15.01.2008, 20:52   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Десятое число Фибоначчи: a:=fib(10);
_Dmitry вне форума Ответить с цитированием
Старый 15.01.2008, 21:02   #3
Xeon332
Скоро сессия...
Форумчанин
 
Регистрация: 03.01.2008
Сообщений: 224
По умолчанию

Цитата:
Сообщение от _Dmitry Посмотреть сообщение
Десятое число Фибоначчи: a:=fib(10);

То есть, если мне сказано найти n-ное число, то это будет выглядеть так?: A:=fib(n);?


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

или не так?
Xeon332 вне форума Ответить с цитированием
Старый 15.01.2008, 21:07   #4
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Но только число, которое вводите нужно засунуть в переменную n, меняем: readln на readln(n); После вычисления печатаем результат: writeln(a);
_Dmitry вне форума Ответить с цитированием
Старый 15.01.2008, 21:28   #5
Xeon332
Скоро сессия...
Форумчанин
 
Регистрация: 03.01.2008
Сообщений: 224
По умолчанию

Огромное спасибо!
Xeon332 вне форума Ответить с цитированием
Старый 16.01.2008, 20:52   #6
Zenit10
Пользователь
 
Регистрация: 16.01.2008
Сообщений: 16
По умолчанию

Здраствуйте все, у меня возник вопрос по рекурсии, я посеместра проболел и поэтому вообще не представляю что она из себя представляет и немогу предоставить своего решения, вся надежда на вас

Выполнить необходимую обработку, при этом описать рекурсивную процедуру или функцию, исходя из условия задачи. Исходные данные задать самостоятельно, учитывая специфику задачи.
Дана последовательность, состоящая из n действительных чисел, найти максимальное по величине число.
Помогите кто может.

Всё разобрались мы с этой задачей общими усилиями.Помощь по ней боьше не требуется.

Последний раз редактировалось Zenit10; 16.01.2008 в 22:43.
Zenit10 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рекурсия. p@ul Помощь студентам 4 30.12.2009 14:46
Рекурсия vitekbest Помощь студентам 1 30.05.2008 22:22
рекурсия Vital_k Паскаль, Turbo Pascal, PascalABC.NET 1 08.02.2008 13:09
Рекурсия АнНютик Паскаль, Turbo Pascal, PascalABC.NET 1 29.01.2008 22:50
Рекурсия Pravednik Помощь студентам 3 21.01.2008 14:18