С Новым годом! Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 27.02.2017
Сообщений: 11

Напишите функцию (f X Y), которая возвращает список Z - "пересечение" списков X г: Y, т.е. список, содержащий их общие

07.11.2019, 09:25. Показов 1232. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте , из-за моих плохих занний lisp возникла проблема с задачей, буду благодарен если кто-то поможет с решением.
Задача - Напишите функцию (f X Y), которая возвращает список Z - "пересечение" списков X г: Y, т.е. список, содержащий их общие элементы, причем кратность каждого элемента в списке Z равняется минимуму из его кратностей в списках X и Y.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.11.2019, 09:25
Ответы с готовыми решениями:

Напишите функцию remove_duplicates, которая берет список и возвращает новый список без повторов
Напишите функцию remove_duplicates, которая берет список и возвращает новый список, в котором элементы не повторяются. Примечание: они не...

Напишите функцию, которая возвращает список
Заранее составьте список предметов и оценок учеников. И когда вы вводите имя ученика в этот список, он выводит оценки этого ученика.

Напишите функцию которая принимает n и возвращает список [1,2,3...n]
Напишите функцию func1(n), которая принимает в качестве аргумента целое число n и возвращает список . Входные данные-5 Выходные...

3
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38163 / 21098 / 4306
Регистрация: 12.02.2012
Сообщений: 34,686
Записей в блоге: 14
07.11.2019, 11:35
HomeLisp (нерационально):

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(defun f (x y)
  (cond ((null x) nil)
        ((null y) nil)
        ((member (car x) y) 
         (let ((cx (- (length x)(length (remove (car x) x))))
               (cy (- (length y)(length (remove (car x) y)))))
              (append (replicate (car x) (min cx cy)) (f (remove (car x) (cdr x)) (remove (car x) y)))))
        (t (f (cdr x) y))))
 
==> F
 
(f '(1 2 3 1 2 3) '(2 2 2 2 3 3))
 
==> (2 2 3 3)
3
Заблокирован
07.11.2019, 11:50
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(define (some val lst [lst2 lst])
   (define (in-some val lst)
         (if (empty? val)
                val
               (if (empty? lst)
           (in-some (rest val) lst2)
           (if (equal? (first val) (first lst))
               (cons (first val) (in-some val (rest lst)))
               (in-some val (rest lst))))))
  (in-some val lst))
 
(some '(1 2 3 4) '(10 1 20 2 4 40))
 
=> '(1 2 4)
Добавлено через 3 минуты
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(define (some val lst [lst2 lst])
   (define (in-some val lst)
         (if (empty? val)
                val
               (if (empty? lst)
           (in-some (cdr val) lst2)
           (if (equal? (car val) (car lst))
               (list* (car val) (car lst) (in-some val (cdr lst)))
               (in-some val (cdr lst))))))
  (in-some val lst))
 
(some '(1 2 3 4) '(10 1 20 2 4 40))
 
=> '(1 1 2 2 4 4)
3
 Аватар для zeroalef
200 / 236 / 33
Регистрация: 29.03.2019
Сообщений: 667
07.11.2019, 13:47
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
(defun f (X Y)
  (let ((Z))
    (mapcar #'(lambda (x)
        (when (member x Y)
          (push x Z)))
        X)
    (remove-duplicates Z)))
 
(defun foo (X Y)
  (remove-duplicates
   (loop for x in X
      when (member x Y)
      collect x)))
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.11.2019, 13:47
Помогаю со студенческими работами здесь

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

Напишите функцию (f N ), которая выдает список всех последовательностей (списков)
Помогите решить задачу на Home Lisp.Напишите функцию (f N ), которая выдает список всех последовательностей (списков) из N нулей, единиц...

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

Напишите функцию, принимающую список, и возвращает функцию добавления элементов в этот список
Напишите функцию, принимающую список, и возвращает функцию добавления элементов в этот список. Покажите пример применения этой функции

Напишите функцию is_sorted, которая берет список как параметр и возвращает True
Напишите функцию is_sorted, которая берет список как параметр и возвращает True, если список отсортирован в восходящем порядке, и False в...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru