История изменений
Исправление Nervous, (текущая версия) :
линукс для умных
4.2
Чё я один такой глупый
Дело не в глупости, просто надо 1) раскурить, как писать рекурсивные алгоритмы, в теории (SICP) и на практике (Little Schemer, HTDP — там есть вполне конкретные рекомендации, прямо по шагам) и 2) правильно (рекурсивно) сформулировать задачу.
Типа «список это пустой список или элемент, прицепленный к списку» (рекурсивное определение данных), "чтобы найти все элементы списка, равные указанному значению, нужно
- если список пустой, вернуть его
- если список непустой, проверить голову списка; если равна искомому значению, вернуть список, полученный прицеплением головы к результату поиска в хвосте списка, иначе вернуть результат поиска в хвосте списка"
(линейно рекурсивный алгоритм).
Задача решена, перевести это дело на луа/петон/жопаскрипт — дело тривиальное, напряжения головы уже не требующее.
Исправление Nervous, :
линукс для умных
4.2
Чё я один такой глупый
Дело не в глупости, просто надо 1) раскурить, как писать рекурсивные алгоритмы, в теории (SICP) и на практике (Little Schemer, HTDP — там есть вполне конкретные рекомендации, прямо по шагам) и 2) правильно (рекурсивно) сформулировать задачу.
Типа «список это пустой список или элемент, прицепленный к списку» (рекурсивное определение данных), "чтобы найти все элементы списка, равные указанному значению, нужно
- если список пустой, вернуть его
- если список непустой, проверить голову списка; если равна искомому значению, вернуть список, полученный прицеплением головы к результату поиска в хвосте списка, иначе вернуть результат поиска в хвосте списка
(линейно рекурсивный алгоритм).
Задача решена, перевести это дело на луа/петон/жопаскрипт — дело тривиальное, напряжения головы уже не требующее.
Исходная версия Nervous, :
линукс для умных
4.2
Чё я один такой глупый
Дело не в глупости, просто надо 1) раскурить, как писать рекурсивные алгоритмы, в теории (SICP) и на практике (Little Schemer, HTDP — там есть вполне конкретные рекомендации, прямо по шагам) и 2) правильно (рекурсивно) сформулировать задачу.
Типа «список это пустой список или элемент, прицепленный к списку» (рекурсивное определение данных), "чтобы найти все элементы списка, равные указанному значению, нужно
- если список пустой, вернуть его
- если список непустой, проверить голову списка; если равна искомому значению, вернуть список, полученный прицеплением головы к результату поиска в хвосте списка, иначе вернуть результат поиска в хвосте списка (линейно рекурсивный алгоритм).
Задача решена, перевести это дело на луа/петон/жопаскрипт — дело тривиальное, напряжения головы уже не требующее.