fork download
  1. (defun nshuffle (seq &optional (random-state *random-state*))
  2. (loop for i from 0 to (length seq)
  3. for j from 1 to (length seq)
  4. do (rotatef (elt seq i) (elt seq (random j random-state)))
  5. finally (return seq)))
  6.  
  7. (defun shuffle (seq &optional (random-state *random-state*))
  8. (nshuffle (copy-seq seq) random-state))
  9.  
  10. (defmacro define-call-another-function-every-n-times (fn another-fn n new-name)
  11. `(let ((count 0))
  12. (defun ,new-name (&rest args)
  13. (if (zerop (mod (incf count) ,n))
  14. (apply ,another-fn args)
  15. (apply ,fn args)))))
  16.  
  17. (define-call-another-function-every-n-times #'reverse #'shuffle 10 odai-pt10-989)
  18.  
  19. (dotimes (n 50)
  20. (format t "~D: ~A~%"
  21. (1+ n)
  22. (odai-pt10-989 "プログラミングのお題スレ Part10")))
  23.  
Success #stdin #stdout 0.01s 25496KB
stdin
Standard input is empty
stdout
1: 01traP レス題おのグンミラグロプ
2: 01traP レス題おのグンミラグロプ
3: 01traP レス題おのグンミラグロプ
4: 01traP レス題おのグンミラグロプ
5: 01traP レス題おのグンミラグロプ
6: 01traP レス題おのグンミラグロプ
7: 01traP レス題おのグンミラグロプ
8: 01traP レス題おのグンミラグロプ
9: 01traP レス題おのグンミラグロプ
10:  tラおa題プPグr0ンロミスグの1レ
11: 01traP レス題おのグンミラグロプ
12: 01traP レス題おのグンミラグロプ
13: 01traP レス題おのグンミラグロプ
14: 01traP レス題おのグンミラグロプ
15: 01traP レス題おのグンミラグロプ
16: 01traP レス題おのグンミラグロプ
17: 01traP レス題おのグンミラグロプ
18: 01traP レス題おのグンミラグロプ
19: 01traP レス題おのグンミラグロプ
20: tおロング1ミ題 スaレ0ラプrグのP
21: 01traP レス題おのグンミラグロプ
22: 01traP レス題おのグンミラグロプ
23: 01traP レス題おのグンミラグロプ
24: 01traP レス題おのグンミラグロプ
25: 01traP レス題おのグンミラグロプ
26: 01traP レス題おのグンミラグロプ
27: 01traP レス題おのグンミラグロプ
28: 01traP レス題おのグンミラグロプ
29: 01traP レス題おのグンミラグロプ
30: rロtラ0ンのレミ おググスプaP題1
31: 01traP レス題おのグンミラグロプ
32: 01traP レス題おのグンミラグロプ
33: 01traP レス題おのグンミラグロプ
34: 01traP レス題おのグンミラグロプ
35: 01traP レス題おのグンミラグロプ
36: 01traP レス題おのグンミラグロプ
37: 01traP レス題おのグンミラグロプ
38: 01traP レス題おのグンミラグロプ
39: 01traP レス題おのグンミラグロプ
40: プおミPスラ グ0tロarグ1のン題レ
41: 01traP レス題おのグンミラグロプ
42: 01traP レス題おのグンミラグロプ
43: 01traP レス題おのグンミラグロプ
44: 01traP レス題おのグンミラグロプ
45: 01traP レス題おのグンミラグロプ
46: 01traP レス題おのグンミラグロプ
47: 01traP レス題おのグンミラグロプ
48: 01traP レス題おのグンミラグロプ
49: 01traP レス題おのグンミラグロプ
50: 題レラPプ0atおス ロrミグン1のグ