Preciso desenvolver uma função Scheme que replique os valores de uma lista N vezes passado como parâmetro algo como (replicarlista '(1 2 3) '3) que retornaria '(1 1 1 2 2 2 3 3 3), consegui com este codigo duplicar um lista
(define (duplicarLista lis)
(cond
((null? lis) '())
(else (append (list (car lis) (car lis)) (duplicarLista (cdr lis))))
)
)
consegui replicar n X o primeiro valor da lista com:
(define (replicar lis n)
(define m n)
(cond
((null? lis) '())
((> n 0) (cons (car lis) (replicar lis (- n 1))))
;(else (replicar (cdr lis) m))
)
)
mas não consigo aplicar a recursividade neste caso para fazer o mesmo aos outros valores da lista inicial