|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.08.2014, 11:17 | #1 |
Регистрация: 18.08.2014
Сообщений: 8
|
Помогите разобраться с рекурсивной процедурой
В общем, читаю книгу С.М. Окулова "Основы программирования", сейчас нахожусь в теме "Рекурсия".
Есть раздел экспериментальной работы, там такое условие задачки: Даны натуральные числа n и k. Перечислить все последовательности длины n из чисел от 1 до k. Например, n=3, k=2. Количество последовательностей — k^n(8). То есть 111, 112, 121, 122, ..., 222. И внизу дается ее решение, вот код: Код:
P/S.Первые три шага понятны, а дальше уже... Последний раз редактировалось LetsRock; 18.08.2014 в 11:20. |
18.08.2014, 11:35 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
18.08.2014, 11:52 | #3 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
перебор комбинаций на заданном и нижележащих уровнях.
если мы достигли конца (по глубине/длине) последовательности то вывести ее, иначе последовательно перебрать значения на заданном уровне и при каждом значении текущего уровня осуществить перебор следующего уровня по глубине/длине.
программа — запись алгоритма на языке понятном транслятору
|
18.08.2014, 12:20 | #4 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
|
18.08.2014, 15:49 | #5 | |
Регистрация: 18.08.2014
Сообщений: 8
|
Цитата:
|
|
18.08.2014, 16:32 | #6 | ||||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
Цитата:
Цитата:
Цитата:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 18.08.2014 в 16:34. |
||||
18.08.2014, 16:36 | #7 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Ты говоришь, напишу-ка я некую процедуру P(k, n, s)
Где k - наибольшее значение одно элемента массива, который мы будем составлять N - кол-во элементов, которые мы будем составлять s - текущий индекс элемента (индекс элемента куда мы будем вставлять следующее число) И тогда.. На s-тую позицию ты должон вставить все числа от 1 до k и вызвать туже самую процедурку.. отличаться вызов будет лишь на два символа.. Код:
|
22.08.2014, 14:32 | #8 | ||
Пользователь
Регистрация: 11.06.2011
Сообщений: 54
|
Оффтоп
Цитата:
Var l: Integer; ... Else For i:=l(L) To k Do Как оно вообще может работать, если значение переменной будет равно чему угодно, ибо оно не присваивалось? Я обратился к гуглу, он послал меня сюда , где написано Цитата:
Здесь могла бы быть ваша реклама
|
||
22.08.2014, 15:10 | #9 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
А я выше задавал этот вопрос автору. Может там всетки единица, как Рома говорит?
I'm learning to live...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не могу разобраться с процедурой. | Winterfox | Помощь студентам | 0 | 20.12.2011 23:53 |
проблемы с рекурсивной процедурой | Xsires | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 03.06.2010 00:40 |
решить с использованием рекурсивной подпрограммы. помогите пожалуйста ваще ни че не понял | st1m | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 02.04.2009 15:31 |
Помогите с процедурой... | Arkuz | Помощь студентам | 10 | 15.05.2008 08:56 |
Помогите разобраться с процедурой OnKeyDown!!! | frai | Общие вопросы Delphi | 9 | 13.04.2007 15:46 |