Skip to content

Instantly share code, notes, and snippets.

@rozag
Last active August 29, 2015 13:56
Show Gist options
  • Save rozag/9305233 to your computer and use it in GitHub Desktop.
Save rozag/9305233 to your computer and use it in GitHub Desktop.
Написать рекурсивную программу, которая печатает по одному разу все k^n последовательностей длины n, составленные из чисел 1...k. Аналогичный код на C++: https://gist.github.com/Rozag/9305260
(defun generate (n k p)
(cond ((eq p n)
(cond ((eq count 1)
(loop for i from 0 to (- n 1)
do (format t "~D" (+ (elt arr i) 1)))
(format t "~%")))
(cond ((< count k) (setq count (+ count 1)))
(T (setq count 1))))
(T (loop for i from 0 to (- k 1)
do (setq p (+ p 1))
(setf (elt arr p) i)
(generate n k p)
(setq p (- p 1))))))
(setq n (read))
(setq k (read))
(setq arr (make-array 1000000 :initial-element nil))
(setq count 1)
(setq i 0)
(generate n k -1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment