(defun fac (n) (labels ((f (m acc) (cond ((= m 0) acc) ('t (f (1- m) (* m acc)))))) (f n 1))) (defun string-to-list (str) (map 'list 'identity str)) (defun perms (ys k) (labels ((p (xs n acc) (if (null xs) (reverse acc) (let* ((m (fac (1- (length xs)))) (y (floor n m)) (x (nth y xs))) (p (delete x xs) (mod n m) (cons x acc)))))) (p ys k nil))) (concatenate 'string (perms (string-to-list "0123456789") 999999))
CL-USER>
"2783915460"
— Me@2024-11-12 10:50:23 AM
.
.
2024.11.12 Tuesday (c) All rights reserved by ACHK

You must be logged in to post a comment.