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

Рекурсия: найти количество элементов числового списка, которые больше первого элемента (Clisp)

12.02.2022, 08:30. Показов 627. Ответов 2
Метки lisp (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите написать программку на Лиспе (Заранее : огромнейшее вам спасибо)

Напишите рекурсивную функцию (на языке Clisp), находящую количество элементов числового списка L, которые больше первого элемента (сортировку не использовать!).

Например: L=(3 -5 -1 4 8 3 4) → 3 (Clisp).
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.02.2022, 08:30
Ответы с готовыми решениями:

Найти количество элементов последовательности, которые больше значения первого элемента
Задана последовательность из 20ти действительных чисел. Найти кол-во элементов которые больше значениях первого числа последовательности....

Найти произведение элементов массива, которые больше его первого элемента
Всем здраствуйте! Помогите пожайлуста написать код с помощью массивов. Задание - Найти произведение элементов , которые больше за первый...

Найти произведение диагональных элементов матрицы, которые больше первого элемента соответствующей строки
Дана матрица целых чисел (размеры и элементы вводит пользователь). Найти произведение диагональных элементов, которые больше первого...

2
 Аватар для _sg
4710 / 4405 / 380
Регистрация: 12.05.2012
Сообщений: 3,102
12.02.2022, 08:57
Lisp
1
2
3
4
5
6
7
8
9
10
11
(defun cnt> (w)
  (cnt (car w) (cdr w)))
 
(defun cnt
    (z w &aux (a (car w)) (d (cdr w)))
  (cond ((null w) 0)
        ((> a z) (1+ (cnt z d)))
        ((cnt z d))))
 
> (cnt> '(3 -5 -1 4 8 3 4))
3
Добавлено через 2 минуты
Lisp
1
2
3
4
5
6
7
8
9
10
(defun cnt> (w)
  (cnt (car w) (cdr w)))
 
(defun cnt (z w)
  (if w (+ (if (> (car w) z) 1 0)
           (cnt z (cdr w)))
      0))
 
> (cnt> '(3 -5 -1 4 8 3 4))
3
Добавлено через 4 минуты
Lisp
1
2
3
4
5
6
7
8
9
(defun cnt> (w)
  (labels ((cnt (z v)
             (if v (+ (if (> (car v) z) 1 0)
                      (cnt z (cdr v)))
                 0)))
    (cnt (car w) (cdr w))))
 
> (cnt> '(3 -5 -1 4 8 3 4))
3
Добавлено через 3 минуты
Lisp
1
2
3
4
5
6
7
(defun cnt> (w &optional (z (car w)))
  (if w (+ (if (> (car w) z) 1 0)
           (cnt> (cdr w) z))
      0))
 
> (cnt> '(3 -5 -1 4 8 3 4))
3
Добавлено через 1 минуту
Lisp
1
2
3
4
5
6
(defun cnt> (w &aux (z (car w)))
  (loop for a in w 
        when (> a z) count a))
 
> (cnt> '(3 -5 -1 4 8 3 4))
3
Добавлено через 1 минуту
Lisp
1
2
3
4
5
(defun cnt> (w &aux (z (car w)))
  (count-if #'(lambda (a) (> a z)) w))
 
> (cnt> '(3 -5 -1 4 8 3 4))
3
Добавлено через 6 минут
Lisp
1
2
3
4
5
6
7
8
9
(defun cnt> (w &optional (z (car w)) (n 0))
  (if w (cnt> (cdr w)
              z
              (+ (if (> (car w) z) 1 0)
                 n))
      n))
 
> (cnt> '(3 -5 -1 4 8 3 4))
3
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38199 / 21131 / 4310
Регистрация: 12.02.2012
Сообщений: 34,738
Записей в блоге: 14
12.02.2022, 19:47
Lisp
1
2
3
4
5
6
7
8
(defun task (list &optional (f nil) (c 0))
   (if (null list) c
       (if (null f) (task (cdr list) (car list) 0)
           (if (> (car list) f) (task (cdr list) f (+ c 1))
                                (task (cdr list) f c)))))  
 
(task '(2 1 2 3 4 5 1))
==> 3
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.02.2022, 19:47
Помогаю со студенческими работами здесь

Найти среднее арифметическое тех элементов массива, которые по своему значению больше первого элемента
Задача: Дан целочисленный массив из N элементов (N≤1000). Элементы массива могут принимать значения от -10000 до 10000. Разработайте...

Найти номера тех элементов списка, которые больше своего левого соседа, и количество таких элементов
Дан список размера N. Найти номера тех элементов списка, которые больше своего левого соседа, и количество таких элементов. Найденные...

Массив: Найти количество элементов, которые больше максимального элемента главной диагонали
. дввухмерном массиве найти количество элементов, которые больше максимального элемента главной диагонали

Массив: Найти количество элементов, которые больше минимального элемента побочной диагонали.
В двухмерном массиве найти количество элементов, которые больше минимального элемента побочной диагонали.

Найти количество элементов массива, значения которых больше значения первого элемента
Задан массив, состоящий из 15 элементов вещественного типа. Опреде- лить количество элементов, значения которых больше первого элемента.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru