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

Рекурсия: вычислить произведение сумм положительных и отрицательных элементов одноуровневого числового списка

23.12.2019, 11:44. Показов 1903. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вычислить произведение сумм положительных и отрицательных элементов одноуровневого числового списка LST.
Помогите, пожалуйста
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.12.2019, 11:44
Ответы с готовыми решениями:

Вычислить произведение сумм положительных и отрицательных элементов массива
Помогите пожалуйста решить задачи. Массивы Вычислить произведение сумм положительных и отрицательных элементов массива A

Для заданного числового списка подсчитать количество положительных, отрицательных и нулевых элементов
ну задание такое: Для заданного числового списка подсчитать количество положительных, отрицательных и нулевых элементов. Поможите?...

Вычислить произведение сумм отрицательных элементов массивов
задано массив x,y,z: x=(0.2,-7,5.2,165,-430,0,195,63.7,634,0.02); y=(-1.1,222,43.5,-44,0.53,555,-3.3,0,0.025,10,0,-5); ...

2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38189 / 21124 / 4307
Регистрация: 12.02.2012
Сообщений: 34,730
Записей в блоге: 14
23.12.2019, 12:35
Лучший ответ Сообщение было отмечено _sg как решение

Решение

Lisp
1
2
3
4
5
6
7
8
(defun task (list &optional (pos 0) (neg 0))
  (cond ((null list) (* pos neg))
        ((> 0 (car list)) (task (cdr list) (+ pos (car list)) neg))
        ((< 0 (car list)) (task (cdr list) pos (+ neg (car list))))
        (t (task (cdr list) pos neg))))
 
(task '(1 2 3 -4 -5 -6 0 0 11 12))
==> -435
1
 Аватар для _sg
4710 / 4405 / 380
Регистрация: 12.05.2012
Сообщений: 3,102
23.12.2019, 16:43
Вариант с циклами (не рекурсия):
Lisp
1
2
3
4
5
6
7
8
(defun product-mp (w)
  (loop for a in w
        if (minusp a) sum a into m
        else if (plusp a) sum a into p
        finally (return (* m p))))
 
> (product-mp '(1 2 3 -4 -5 -6 0 0 11 12))
-435
Добавлено через 9 минут
Вариант со сверткой:
Lisp
1
2
3
4
5
6
7
8
9
(defun product-mp (w)
  (* (sum-p #'minusp w) (sum-p #'plusp w)))
 
(defun sum-p (p w)
  (reduce #'+ w :key #'(lambda (a)
                         (if (funcall p a) a 0))))
 
> (product-mp '(1 2 3 -4 -5 -6 0 0 11 12))
-435
Добавлено через 3 минуты
Вариант с чисткой и сверткой:
Lisp
1
2
3
4
5
6
(defun product-mp (w)
  (* (reduce #'+ (remove-if-not #'minusp w))
     (reduce #'+ (remove-if-not #'plusp w))))
 
> (product-mp '(1 2 3 -4 -5 -6 0 0 11 12))
-435
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.12.2019, 16:43
Помогаю со студенческими работами здесь

Вычислить произведение сумм положительных элементов строк матрицы
В матрице размерности 7 на 7 посчитать произведение сумм положительных элементов строк. В каждом втором столбце заменить минимальный...

Подсчитать сумму положительных и произведение отрицательных элементов списка
подсчитать сумму положительных и произведение отрицательных элементов списка; хвоствая рекурсия? p(,1):-!. p(,Z):- X&lt;0,...

Вычислить произведение отрицательных элементов и произведение положительных, и сравнить их
Входные данные записываются в файл input.txt, а выходные в output.txt. По окончании работы над задачей создается ехе-файл. В...

В массиве вычислить произведение отрицательных элементов Р1 и произведение положительных элементов Р2
В массиве целых чисел а1, а2,..., an, есть как положительные, так и отрицательные элементы. Вычислить произведение отрицательных элементов...

Вычислить произведение отрицательных элементов и произведение положительных элементов последовательности
В последовательности действительных чисел a1,a2,...,an есть только положительные и отрицательные элементы. Вычислить произведение...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru