Вопрос домашнего задания следующий ...
(10 баллов) Напишите функцию разнесения, которая, учитывая список кортежей, (nx), создает новый список, вставляя x в список n развместо (nx) (другими словами, вставленные элементы должны располагаться в том же порядке, что и исходные кортежи при создании нового списка).Вы можете предположить, что n всегда будет по крайней мере 0.
(explode '((2 "Hello"))) производит -> ("Hello", "Hello")
(explode '((2 "Hello") (3 "world"))) производит -> ("Hello" "Hello" "world" "world" "world")
Возможное решение, о котором я думал до сих пор, заключалось в том, чтобы иметь цикл, который бы отслеживал, над каким кортежем в данный момент работает алгоритм, а затем внутри этого цикла было определение функции, которое вызывалось бы рекурсивно, чтобы добавить строку в список возврата.,Но я не уверен, что это сработает, потому что кажется, что это потребует использования 'set!'Профессор сказал, что нам нельзя использовать.
Я не ищу полного ответа, так как это домашнее задание.Я просто хотел бы указать в правильном направлении, как решить эту проблему, возможно, с помощью некоторого кода sudo.
Спасибо всем!