本帖最后由 sysu-沼泽 于 2019-6-4 08:53 编辑
把n个可重复的元素有次序地放入m个盒子中,要求每个盒子只可以装1个元素,且盒子从大到小排列。求排列的解法。
 - (setq lst '(3 2 1)) ;元素共3个,n=3
- ;;; 盒子数目m=6,想要得出的结果如下所示
- (setq data '( (3 3 3 3 3 3) (3 3 3 3 3 2)
- (3 3 3 3 3 1)
- (3 3 3 3 2 2)
- (3 3 3 3 2 1)
- (3 3 3 3 1 1)
- (3 3 3 2 2 2)
- (3 3 3 2 2 1)
- (3 3 3 2 1 1)
- (3 3 3 1 1 1)
- (3 3 2 2 2 2)
- (3 3 2 2 2 1)
- (3 3 2 2 1 1)
- (3 3 2 1 1 1)
- (3 3 1 1 1 1)
- (3 2 2 2 2 2)
- (3 2 2 2 2 1)
- (3 2 2 2 1 1)
- (3 2 2 1 1 1)
- (3 2 1 1 1 1)
- (3 1 1 1 1 1)
- (2 2 2 2 2 2)
- (2 2 2 2 2 1)
- (2 2 2 2 1 1)
- (2 2 2 1 1 1)
- (2 2 1 1 1 1)
- (2 1 1 1 1 1)
- (1 1 1 1 1 1)
- ))
|