Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
2 / 2 / 0
Регистрация: 13.06.2019
Сообщений: 66
1
Common Lisp

Напишите функцию (fullength x), считающую полное количество атомов (не равных nil) в списке x

09.12.2021, 18:08. Показов 887. Ответов 2
Метки lisp (Все метки)

Author24 — интернет-сервис помощи студентам
Есть код, вроде правильный, но не могу сообразить как его запустить
Помогите пожалуйста

Lisp
1
2
3
4
5
(defun full-length (x)
  (cond
    ((null x) 0)
    ((atom x) 1)
    (t (+ 1 (full-length (car x)) (full-length (cdr x))))))
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.12.2021, 18:08
Ответы с готовыми решениями:

Написать функцию, которая вычисляет количество всех атомов в списке(кроме NIL) с учетом всех подсписков всех уровней вложенности
Написать функцию, которая вычисляет количество всех атомов в списке(кроме NIL) с учетом всех...

Определить функцию LASTHALF, значением которой должен быть список из последних n атомов в списке из 2n атомов
Определить функцию LASTHALF, значением которой должен быть список из последних n атомов в списке из...

Посчитать количество атомов в многоуровневом списке (в списке со вложенными списками)
Здравствуйте! Нужно написать программу, которая бы вычисляла, сколько всего атомов в списке...

Напишите рекурсивную функцию, считающую наибольший общий делитель двух чисел
Напишите рекурсивную функцию, считающую наибольший общий делитель двух чисел. Предусмотрите случай...

2
Модератор
Эксперт функциональных языков программированияЭксперт Python
36610 / 20336 / 4223
Регистрация: 12.02.2012
Сообщений: 33,660
Записей в блоге: 13
09.12.2021, 18:55 2
Лучший ответ Сообщение было отмечено Triglav86 как решение

Решение

Цитата Сообщение от Triglav86 Посмотреть сообщение
Есть код, вроде правильный,
- где ты его взял? Он неправильный. Смотри:

Lisp
1
2
3
4
5
6
7
8
(defun full-length (x)
  (cond
    ((null x) 0)
    ((atom x) 1)
    (t (+ 1 (full-length (car x)) (full-length (cdr x))))))
 
(full-length '(q w (s d f)))
==> 11 ;; в списке 11 атомов?
Правильно так:

Lisp
1
2
3
4
5
6
7
8
(defun full-length (x)
  (cond
    ((null x) 0)
    ((atom x) 1)
    (t (+ (full-length (car x)) (full-length (cdr x))))))
 
(full-length '(q w (s d f)))
==> 5
2
2 / 2 / 0
Регистрация: 13.06.2019
Сообщений: 66
09.12.2021, 19:20  [ТС] 3
Спасибо! Выручили!
0
09.12.2021, 19:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2021, 19:20
Помогаю со студенческими работами здесь

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

Получить из списка произвольных атомов список атомов, которые в исходном списке встречаются один раз
Построить список атомов, которые встречаются в заданном списке ровно один раз.

Рекурсия. Количество числовых атомов в составном списке.
Доброго времени суток. Помогите, кто чем может :) Требуется написать рекурсивную функцию,...

Описать функцию, которая по атому и списку выдает множество всех атомов в списке
Опишите функцию послед(x, y, n), которая по атому x и списку y выдает множество всех атомов в y,...

Определить функцию (max2 x), вычисляющую максимальный элемент в списке х, состоящем из числовых атомов
Определить функцию (max2 x), вычисляющую максимальный элемент в списке х, состоящем из числовых...

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru