;发牌排序游戏 假定有13张片A~K,发牌规则是将这一叠牌最上面的一张移到最下面,发出一张牌
;再将最上面一张移到最下面,再出一张牌,依此类推,直到所有的牌全部发完,要求牌按A~K的顺序发出
;请设计程序将牌排序 - (defun c:tt()
- (setq list1 '(A 2 3 4 5 6 7 8 9 10 J Q K))
- (setq list1 (reverse list1))
- (setq list2 '())
- (while list1
- (setq list2 (cons (car list1) list2))
- (setq list2 (cons (car (reverse list2)) (reverse (cdr (reverse list2)))))
- (setq list1 (cdr list1))
- )
- (prin1 list2)
- (princ)
- )
执行结果:
(7 A Q 2 8 3 J 4 9 5 K 6 10)
我们依此类推,完整的一副牌该如何排序?如果往下移两张牌后出一张牌,又该如何排序?
可以给家里的小孩子玩这个游戏。
|