Подсчет атомов во всем списке - Lisp

Узнай цену своей работы

Формулировка задачи:

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

Решение задачи: «Подсчет атомов во всем списке»

textual
Листинг программы
  1. (defun task (lst) ;; все атомы
  2.   (length (flatten lst)))
  3.  
  4. (defun task (lst) ;; только уникальные
  5.   (length (setof (flatten lst))))

Объяснение кода листинга программы

В коде представлены две функции, которые выполняют подсчёт атомов в списке.

  1. (defun task (lst) (length (flatten lst))) — Аргумент функции lst — список. — Функция flatten превращает список в одномерный массив. — Функция length подсчитывает количество элементов в списке (в данном случае в массиве). — Результат выполнения функции — количество атомов в списке.
  2. (defun task (lst) (length (setof (flatten lst)))) — Аргумент функции lst — список. — Функция flatten превращает список в одномерный массив. — Функция setof создаёт множество из элементов массива. — Функция length подсчитывает количество элементов в списке (в данном случае в массиве). — Результат выполнения функции — количество уникальных атомов в списке.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы