Форум программистов, компьютерный форум, киберфорум
Erlang, OTP
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
Denndi
0 / 0 / 0
Регистрация: 26.01.2016
Сообщений: 22
1

Задача на рекурсию

17.06.2016, 18:11. Просмотров 1410. Ответов 3
Метки нет (Все метки)

Доброго времени суток.
Прошу помощи в решении поставленной задачи

Описать функцию Max1 (x), определяющую максимальную глубину подсписков списка x.
> Max1 ([a,b,[c,d,[e,f ],g]]).
3; результат

Наработок к сожалению нет, т-к совершенно не представляю как ее решать.
Спасибо
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2016, 18:11
Ответы с готовыми решениями:

Задача на рекурсию
Подсчитать выражение с помощью рекурсии:

Задача на рекурсию
Помогите, пожалуйста, решить задачу.

Задача на рекурсию
Задание: написать функцию умножения двух чисел, используя только операции сложения и рекурсии. Не...

Задача на рекурсию
помогите написать пожалуйста программу на с++ по теме рекурсия. Задано действительное A, найти...

3
Curry
3257 / 2271 / 287
Регистрация: 01.06.2013
Сообщений: 4,821
Записей в блоге: 9
18.06.2016, 00:27 2
Лучший ответ Сообщение было отмечено Denndi как решение

Решение

Prolog
1
2
3
4
5
6
-module(foo_module).
 
-export([max1/1]).
 
max1(X) when is_list(X) -> 1+lists:max(lists:map( fun(A) -> max1(A) end, X));
max1(_) -> 0.
3
Denndi
0 / 0 / 0
Регистрация: 26.01.2016
Сообщений: 22
18.06.2016, 09:23  [ТС] 3
Большое спасибо
0
S_el
2335 / 1758 / 375
Регистрация: 15.12.2013
Сообщений: 7,247
18.06.2016, 17:47 4
Альтернативное решение, без использования модуля lists:

Prolog
1
2
3
4
5
6
7
max_deep([])->0;
max_deep(List) when is_list(List)->max_deep(List,1).
 
max_deep([H|T],C) when is_list(H)->
    max(max_deep(H,C+1),max_deep(T,C));
max_deep([_|T],C) -> max_deep(T,C);
max_deep(_,C)->C.
3
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2016, 17:47

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Задача на рекурсию
Помогите описать функцию, которая, выдавала бы элемент списка по заданному номеру, считая от конца,...

Задача на рекурсию
Во время недавних раскопок на Марсе были обнаружены листы бумаги с таинственными символами на них....

Задача на рекурсию
Пусть X1=Y1=1, Xi=Xi-1+Yi-1/i*i , Yi=Yi-1+Xi-1/i , i=2,3…. Получить Xn, Yn Не знаю как вернуть...

Задача на рекурсию
Задание : Напишите функцию возведения в степень, которая работала бы как для положительных, так и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.