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

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

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

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

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

textual
Листинг программы
#lang racket
 
(define (foo lst k)
  (for/list ([i lst] #:unless (= 0 (remainder i k)))
    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
Похожие ответы