Удаление из списка натуральных чисел x всех чисел, кратных k - Lisp

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

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

Помогите реализовать функцию (DEL1 k x), которая удаляет из списка натуральных чисел x все числа, кратные k.

Решение задачи: «Удаление из списка натуральных чисел x всех чисел, кратных k»

textual
Листинг программы
  1. #lang racket
  2.  
  3. (define (foo lst k)
  4.   (for/list ([i lst] #:unless (= 0 (remainder i k)))
  5.     i))

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

В данном коде на языке Racket (это разновидность языка Lisp) реализуется функция с именем foo, которая принимает два аргумента: lst и k. lst — это список натуральных чисел, из которого необходимо удалить все числа, кратные k. k — это число, на которое делятся числа из списка lst. Функция foo использует цикл for/list, который проходит по всем элементам списка lst. В каждой итерации проверяется, делится ли текущий элемент на k без остатка. Если делится, то элемент пропускается и следующая итерация начинается. Если не делится, то элемент добавляется в новый список. В итоге получается новый список, который содержит все элементы из исходного списка lst, кроме тех, которые кратны k. Вот пример вызова функции foo: (foo (list 1 2 3 4 5 6 7 8 9 10) 2) Вывод: (1 3 5 7 9)

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


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

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

9   голосов , оценка 4.556 из 5

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

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

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