Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lisp
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
ДимКо
4 / 4 / 2
Регистрация: 26.10.2012
Сообщений: 155
1

Описать функцию (max1 x)

12.04.2013, 16:40. Просмотров 585. Ответов 2
Метки нет (Все метки)

Указания к решению задачи.
Списки, являющиеся аргументами функций, могут содержать подсписки. Рекурсия распространяется как в направлении cdr, так и в направлении car, т.е. на подсписки. Для определения главной функции можно использовать собственные подфункции.
В задаче можно вначале исходный список выровнять, затем сделать из него множество. Например:
((a b) b ((c)) a) http://www.cyberforum.ru/cgi-bin/latex.cgi?\rightarrow (a b b c a) http://www.cyberforum.ru/cgi-bin/latex.cgi?\rightarrow (a b c).
После этого к списку можно применить основную функцию. Можно воспользоваться и другими более эффективными под функциями.

Задача.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2013, 16:40
Ответы с готовыми решениями:

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

описать функцию
y\, (N) = \sum \limits_{i=1}^{N}i! y\, (N) = \sum \limits_{i=1}^{N}\sum \limits_{j=1}^{N}(\lg \,...

Описать функцию (уникум x)
Списки, являющиеся аргументами функций, могут содержать подсписки. Рекурсия распространяется как в...

Описать функцию (частоты х)
Описать функцию (частоты х), которая берет в качестве аргумента список атомов х и выдает список...

Описать функцию в списке
Помогите написать программу на языке Lisp (я работаю в LispWorks Personal) Есть список lst и...

2
Catstail
Модератор
24484 / 12414 / 2259
Регистрация: 12.02.2012
Сообщений: 20,153
12.04.2013, 17:20 2
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
(defun max-depth (lst)
  (cond ((null lst) 0)
        ((atom (car lst)) (max-depth (cdr lst)))
        (t (max (1+ (max-depth (car lst))) (max-depth (cdr lst))))))
 
==> max-depth
 
(max-depth '(1 (2 3)))
 
==> 1
 
(max-depth '(1 (2 3) (((5)))  ))
 
==> 3
 
(trace max-depth)
 
==> max-depth
 
(max-depth '(1 (2 3) (((5)))  ))
 
Вход в функцию max-depth Аргументы: (1 (2 3) (((5))))
  Вход в функцию max-depth Аргументы: ((2 3) (((5))))
    Вход в функцию max-depth Аргументы: (2 3)
      Вход в функцию max-depth Аргументы: (3)
        Вход в функцию max-depth Аргументы: NIL
        Возврат из функции max-depth Результат: 0
      Возврат из функции max-depth Результат: 0
    Возврат из функции max-depth Результат: 0
    Вход в функцию max-depth Аргументы: ((((5))))
      Вход в функцию max-depth Аргументы: (((5)))
        Вход в функцию max-depth Аргументы: ((5))
          Вход в функцию max-depth Аргументы: (5)
            Вход в функцию max-depth Аргументы: NIL
            Возврат из функции max-depth Результат: 0
          Возврат из функции max-depth Результат: 0
          Вход в функцию max-depth Аргументы: NIL
          Возврат из функции max-depth Результат: 0
        Возврат из функции max-depth Результат: 1
        Вход в функцию max-depth Аргументы: NIL
        Возврат из функции max-depth Результат: 0
      Возврат из функции max-depth Результат: 2
      Вход в функцию max-depth Аргументы: NIL
      Возврат из функции max-depth Результат: 0
    Возврат из функции max-depth Результат: 3
  Возврат из функции max-depth Результат: 3
Возврат из функции max-depth Результат: 3
==> 3
1
_sg
4096 / 3846 / 289
Регистрация: 12.05.2012
Сообщений: 2,706
12.04.2013, 17:32 3
Lisp
1
2
3
4
5
6
(defun max-depth (w)
  (cond ((atom w) 0)
        ((max (+ 1 (max-depth (car w))) (max-depth (cdr w))))))
 
> (max-depth '(a b (c d (e f) g)))
3
Lisp
1
2
3
4
5
(defun max-depth (w)
  (if (atom w) 0 (max (1+ (max-depth (car w))) (max-depth (cdr w)))))
 
> (max-depth '(a b (c d (e f) g)))
3
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.04.2013, 17:32

Нужно описать функцию
y(N)=\sum_{i=1}^{N}\sum_{j=1}^{N}(lg\, i+ln\, j)

Описать функцию одного аргумента L
кто хорошо юзает лисп?? помогите пожалуйста!)) буду очень благодарен!!! 1) Описать функцию...

Описать функцию, выполняющую обработку
Здравствуйте! Помогите пожалуйста сделать задание в Lisp. Есть список, содержащий атомы и списки,...


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

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

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