Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
105 / 57 / 22
Регистрация: 20.12.2009
Сообщений: 1,285
Записей в блоге: 2

Вернуть макс сумму можно множить и сложение

15.10.2022, 18:21. Показов 622. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Смотрел в языке есть reduce, а max from list нету?
как мне вернуть то что даст наибольшую сумму?
Lisp
1
2
3
4
5
6
(defun expressions-matter (a b c)
  (+ a b c ) 
  (* a b c)
  (* (+ a b) c)
  (+ (* a b) c)
 )
inserting the following operators and brackets: +, *, ()
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.10.2022, 18:21
Ответы с готовыми решениями:

Сформировать три прямоугольных импульса, один 1/3 макс. амплитуды, 2-ой 2/3 амп. макс, 3-ий макс. амп. с периодом повтор
Сформировать три прямоугольных импульса, один 1/3 макс. амплитуды, 2-ой 2/3 амп. макс, 3-ий макс. амп. с периодом повторения 100 Гц.

Сводная таблица, вывести общую сумму и макс. сумму
Ещё вопрос по сводной таблице. Вот такое задание: Создать сводную таблицу, в которой вывести по бригадам и разрядам общую сумму...

Матрица m x n. Найти макс значение среди средних значений для каждой строки матрицы. Вернуть номер строки
Здравствуйте. Код есть, но ведет себя не стабильно. Выводит не то, что нужно. Прошу помочь. matrix.cpp #include <iostream> ...

11
 Аватар для _sg
4710 / 4405 / 380
Регистрация: 12.05.2012
Сообщений: 3,102
15.10.2022, 19:39
Lisp
1
2
3
4
CL-USER> (reduce #'max '(-1 0 1 0))
1
CL-USER> (apply #'max '(-1 0 1 0))
1
1
217 / 212 / 8
Регистрация: 09.06.2019
Сообщений: 240
Записей в блоге: 1
15.10.2022, 19:40
Supersumestria,
Lisp
1
(apply 'max '( 1 2 3 4 5))
2
 Аватар для _sg
4710 / 4405 / 380
Регистрация: 12.05.2012
Сообщений: 3,102
15.10.2022, 19:43
Лучший ответ Сообщение было отмечено Supersumestria как решение

Решение

Lisp
1
2
3
4
5
6
7
8
9
10
(defun maxx (a b c)
  (max (+ a b c)
       (* a b c)
       (* (+ a b) c)
       (+ (* a b) c)))
 
CL-USER> (maxx 1 2 3)
9
CL-USER> (maxx 0 1 2)
3
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38203 / 21135 / 4310
Регистрация: 12.02.2012
Сообщений: 34,741
Записей в блоге: 14
16.10.2022, 07:12
Цитата Сообщение от Supersumestria Посмотреть сообщение
max from list нету?
- да все есть...

Lisp
1
2
3
4
5
6
7
(iter (for a in '(4 6 8 0 -3)) (maximizing a))
==> 8
 
;; Или
 
(apply 'max '(4 6 8 0 -3))
==> 8
2
 Аватар для chessman2
163 / 143 / 10
Регистрация: 21.10.2012
Сообщений: 487
16.10.2022, 09:31
Цитата Сообщение от Supersumestria Посмотреть сообщение
вернуть то что даст наибольшую сумму?
Вам нужно получить максимальное вычисленное значение
или s-выражение, возвращающее такое значение ?
0
105 / 57 / 22
Регистрация: 20.12.2009
Сообщений: 1,285
Записей в блоге: 2
16.10.2022, 10:37  [ТС]
Цитата Сообщение от chessman2 Посмотреть сообщение
максимальное вычисленное значение
да применяя * + и ()

Добавлено через 4 минуты
_sg, ваш код
(ok (= (expressions-matter 9 1 1) 18)) = 11 вместо 18
(ok (= (expressions-matter 6 7 1) 48))) 43 вместо 48
0
 Аватар для _sg
4710 / 4405 / 380
Регистрация: 12.05.2012
Сообщений: 3,102
16.10.2022, 12:05
Цитата Сообщение от Supersumestria Посмотреть сообщение
(ok (= (expressions-matter 9 1 1) 18)) = 11 вместо 18
(ok (= (expressions-matter 6 7 1) 48))) 43 вместо 48
Откуда должно вернуться 18 и 48, чтобы было OK?
0
105 / 57 / 22
Регистрация: 20.12.2009
Сообщений: 1,285
Записей в блоге: 2
16.10.2022, 13:04  [ТС]
Цитата Сообщение от _sg Посмотреть сообщение
Откуда должно вернуться 18 и 48, чтобы было OK?
ну если применить скобки то выйдет 2*9 = 18
0
105 / 57 / 22
Регистрация: 20.12.2009
Сообщений: 1,285
Записей в блоге: 2
16.10.2022, 19:46  [ТС]
я сам упустил что +,* и скобки дополнительно помимо знаков
Миниатюры
Вернуть макс сумму можно множить и сложение  
0
 Аватар для _sg
4710 / 4405 / 380
Регистрация: 12.05.2012
Сообщений: 3,102
16.10.2022, 21:45
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
(defun maxx (a b c)
  (max (+ a b c)
       (* a b c)
       (* (+ a b) c)
       (+ (* a b) c)
       (* a (+ b c))
       (+ a (* b c))))
 
CL-USER> (maxx 6 7 1)
48
CL-USER> (maxx 9 1 1)
18
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38203 / 21135 / 4310
Регистрация: 12.02.2012
Сообщений: 34,741
Записей в блоге: 14
17.10.2022, 06:08
Да чего уж там... Вот код, который выбирает максимальный результат применения функции двух аргументов из списка функций:

Lisp
1
2
3
4
5
6
7
(defun max-res (x y flist)
  (apply 'max (mapcar (lambda (f) (funcall f x y)) flist)))
 
(max-res 3 4 '(* - + / (lambda (x y) (+ (* x x) (* y y))) (lambda (x y) (/ (sin x) (cos y)))))
 
 
==> 25.0
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.10.2022, 06:08
Помогаю со студенческими работами здесь

Множить файлы
Как сформировать папки следующим образом, где есть несколько папок, к примеру их три. В первой лежат документы 1.тхт..10.тхт, во второй...

Найти мин элемент каждой строки и макс элемент столбцов, строку с макс суммой, строку с макс элем.
Массив 10х10 N=10 1) Минимальный элемент каждой строки 2) Максимальный элемент каждого столбца 3) В какой строке максимальная...

дан двумерный массив 10х10 найти макс сумму нечетных элементов строки вывести сумму и номер строки
дан двумерный массив 10х10 найти макс сумму нечетных элементов строки вывести сумму и номер строки

Сколько макс. оперативы сюда можно сунуть
Системная плата Asus P5GD2 Deluxe Разъёмы ОЗУ 4 DDR2 DIMM Тип ЦП Intel Celeron D 336, 2800 MHz (21 x 133) Хочу купить 2 планки по 4...

Как считывать числа с Memo1 и их множить, складывать и т.д.?
Как считывать числа с Memo1 и их множить складывать и т.д?


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru