Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
Рекурсия |
Философия, технологии, алгоритмы! |
|
Опции темы |
28.03.2006, 08:25 | #1 |
Чертяра
Сообщений: 384
Регистрация: 29.01.2005
Возраст: 35
Не в сети |
Рекурсия
очень прошу помочь...
нужно написать такую рекурсивную программу: Дана последовательность а с элементами из множества {0,1}. Проводятся следующие действия. Если а имеет вид 1,0,1, то программа укорачивает последовательность на первые три элемента. В противном случае начальный элемент последовательности переносится в её конец. Указанные действия повторяются до тех пор, пока имеется возможность укоротить текущую последовательность. заранее благодарен.. |
28.03.2006, 13:29 | #3 |
Форумец
Сообщений: 340
Регистрация: 25.07.2002
Не в сети |
Да не нужна здесь рекурсия. В этой задаче нет возвратов на предыдущие шаги( если только последовательность а не задана какой либо рекурсивной структурой данных). Итерацию в руки и вперед, пока длинна последовательности больше трех и присутствуют хотя бы две единицы и один нуль.
|
28.03.2006, 20:02 | #6 |
IGBT
Сообщений: 535
Регистрация: 09.10.2005
Не в сети |
если речь зашла о рекурсиях может кто вот такую задачу сможет решить.
Задача простая: дано число n нужно составить различные последовательности длинны m из чисел от 1..n с неповторяющимся набором цифр. Задача сводится к циклам переменной вложенности вида for i:=1 to n do begin for j:=i+1 to n do begin for k:=j=1 to n do begin ..... Writeln(i,' ',j,' ',k,' ',.....); end; end; end; Может кто подскажет как это через рекурсию сделать? Это очепятки. Код исправил чтобы не предирались. Но впрос все же остается: Как сделать циклы перемнной вложенности? |
29.03.2006, 15:24 | #7 |
Чертяра
Сообщений: 384
Регистрация: 29.01.2005
Возраст: 35
Не в сети |
вот ещё одна проблема, не связанная с рекурсией. Как соединить два возрастающих массива в один тоже возрастающий, не используя его сортировку. То есть если есть два массива
1 6 9 12 56 0 3 9 12 30 54 то нужно получить один 0 1 3 6 9 9 12 12 30 54 56 |
30.03.2006, 07:17 | #13 |
Чертяра
Сообщений: 384
Регистрация: 29.01.2005
Возраст: 35
Не в сети |
VBA b0.3 знаешь что я понял? то что кто-то тут больше говорит, а на самом деле ничего стоящего предоставить сам не может..если не так то роди хотя бы одну светлую идею по поводу решения одной или другой задачи
|
30.03.2006, 09:07 | #14 | |
Форумец
Сообщений: 743
Регистрация: 28.01.2005
Возраст: 42
Не в сети |
Цитата:
Если ты не лох, отправь SMS на номер **** с фразой НЕ ЛОХ. Чем больше отправишь - тем больше ты не лох! :-D |
|
30.03.2006, 09:59 | #15 |
Форумец
Сообщений: 166
Регистрация: 02.08.2005
Возраст: 44
Не в сети |
на слабо не разведёш.. ни школанах
а то что я в праграммиравании чуть чуть разбирась говорит то что я работаю гл. програмером поэтому такие задачи надо делать самому, иначе разбираться ваще никада не начнёте.вот |
30.03.2006, 11:36 | #18 | |
Форумец
Сообщений: 831
Регистрация: 04.08.2005
Не в сети |
Цитата:
|
|
30.03.2006, 12:50 | #21 |
Форумец
Сообщений: 743
Регистрация: 28.01.2005
Возраст: 42
Не в сети |
тебе уже подсказали: УЧИСЬ решать элементарные задачи - это развивает твои мозги!
если тебе нах не нужен институт, то почему бы не пойти в армию? тама думать не нужно, нужно делать то, чего тебе приказывают (чуешь разницу?) |
06.04.2006, 09:05 | #24 |
Альдо Апачи
Сообщений: 11,183
Регистрация: 21.06.2005
Возраст: 43
Не в сети |
Блинна, Грешник, ты можешь словами описать решение? Что-нть типа: берем первые элементы массива, сравниваем, если a(1)>b(1) то первый элемент нового массива=b(1) и т.д.? Если нет - забей на программирование на любом языке
|
06.04.2006, 13:14 | #25 |
Чертяра
Сообщений: 384
Регистрация: 29.01.2005
Возраст: 35
Не в сети |
Xtnshtcgjkjdbyjq спасибо за подсказку...уже все сделал..осталось только с рекурсией разобраться....а на счет программирования я так и сделаю как ты сказал...мне оно нахер не нужно..а мне тут просто мозги парят
|