Помогите. Рекурсия и нет ее... |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Помогите. Рекурсия и нет ее... |
Catherinektz |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 40 Пол: Женский Реальное имя: Екатерина Репутация: 1 |
Данa функция, аргументы которой - неотрицательные целые числа M и N
1, при М=0 f(M,N)=f(M-1,N-1)+f(M,N-1), при 0 < М < N 1, при M=N Составить алгоритм, вычисляющий значение функции без помощи рекурсии и с помощью рекурсии. Вот мои наработки. Должно быть две программки. Помогите хотя бы с одной, где с помощью рекурсии. program N762; Uses crt; var X,Y,Rez:Integer; function F(M,N:Integer):Integer; var f:Integer; Begin //f1:=f(M-1,N-1); //f2:=f(M,N-1); //fun:=f1+f2; {fun:=f(M-1,N-1)+f(M,N-1); } //for i:= n downto 1 do //for j:= m-1 downto 1 do if M=0 then f:=1; if (M>0) and (M<N)then f:=F(M-1,N-1)+F(M,N-1) else if M=N then f:=1; F:=f; End; Begin WriteLn('Введите значения аргументов, неотрицательные числа'); ReadLn(X,Y); Rez:=F(X,Y); WriteLn('Rez=',Rez); End. |
Федосеев Павел |
Сообщение
#2
|
Знаток Группа: Пользователи Сообщений: 481 Пол: Мужской Реальное имя: Федосеев Павел Репутация: 9 |
Catherinektz, вроде бы вариант с рекурсией ты верно реализовала, только Pascal=Delphi безразличен к регистру имён переменных - имя функции и пременной f не должны совпадать.
function F(M, N: integer): integer; |
Catherinektz |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 40 Пол: Женский Реальное имя: Екатерина Репутация: 1 |
Catherinektz, вроде бы вариант с рекурсией ты верно реализовала, только Pascal=Delphi безразличен к регистру имён переменных - имя функции и пременной f не должны совпадать. function F(M, N: integer): integer; Спасибо Вам большое! |
Текстовая версия | 23.12.2024 21:08 |