Какой диалект Лиспа, какие ограничения на используемые средства, что пробовали и почему не получилось? Вот вам на Common Lisp с хэш-таблицей и loop, но преподаватель едва ли обрадуется:
| Код | (defun repeating-elements (u n) (let ((counters (make-hash-table :test 'equal))) (progn (loop for x in u do (incf (gethash x counters 0))) (loop for x being each hash-key of counters using (hash-value count) when (>= count n) collect x)))) |
| Код | > (setq s '('cat 'dog 'horse 'cat 'pig 'cat 'dog)) ('CAT 'DOG 'HORSE 'CAT 'PIG 'CAT 'DOG) > (repeating-elements s 3) ('CAT) > (repeating-elements s 2) ('DOG 'CAT) > (repeating-elements s 1) ('PIG 'HORSE 'DOG 'CAT) |
|