找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 649|回复: 3

[讨论]:又要出题目了----表项分组

[复制链接]
发表于 2003-12-23 01:42:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
表1'(a b c d e .......)  -> '((a b ) (c d) (e f)...)
                                -> '((a b c)(d e f)(g h i)...)
                                -> '( (a b c d ...) (....)(....)....)  每个元素包含表1的n个元素
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-12-23 10:44:37 | 显示全部楼层
这样划分有什么意义呢?

  1. (defun lst_n (lst n)
  2.   (setq        nn   (length lst)
  3.         lst1 '()
  4.         lst2 '()
  5.         mm   0
  6.   )
  7.   (while (and (/= mm nn) (= (rem nn n) 0))
  8.     (repeat n
  9.       (setq lst1 (cons (nth mm lst) lst1)
  10.             mm         (1+ mm)
  11.       )
  12.     )
  13.     (setq lst2 (cons (reverse lst1) lst2)
  14.           lst1 '()
  15.     )
  16.   )
  17.   (reverse lst2)
  18. )


命令: (lst_n '(1 2 3 4 5 6 7 8) 2)
((1 2) (3 4) (5 6) (7 8))

命令: (lst_n '(1 2 3 4 5 6 7 8) 3)
nil
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-12-23 13:56:50 | 显示全部楼层

  1. ;;可能是vlisp上pline分点上吧!
  2. ;;(tt '(A B C D E F G H I J K L M N O P Q R S t U V W X Y Z) 4)
  3. (defun TT (L1 N / N1 LIS L2)
  4.   (setq N1 0)
  5.   (repeat (fix (/ (length L1) N))
  6.     (setq L2 NIL)
  7.     (setq LIS (append LIS
  8.                       (progn
  9.                         (repeat        N
  10.                           (setq L2 (append L2 (list (nth N1 L1))))
  11.                           (setq N1 (1+ N1))
  12.                         )
  13.                         (list L2)
  14.                       )
  15.               )
  16.     )
  17.   )
  18. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2003-12-23 21:53:12 | 显示全部楼层
最初由 LUCAS 发布
[B]
;;可能是vlisp上pline分点上吧!
;;(tt '(A B C D E F G H I J K L M N O P Q R S t U V W X Y Z) 4)
(defun TT (L1 N / N1 LIS L2)
  (setq N1 0)
  (repeat (fix (/ (length L1) N))
    (setq L2 NIL... [/B]


最后没满的也应该加入


  1. (defun tt(li n / a return)
  2.   (while li
  3.    (setq a(append a(list(car li)))li(cdr li));一个个来
  4.    (if(=(length a)n)(setq return(cons a return) a nil));满就加入
  5.   )
  6. (if a(setq return(cons a return)));没满的加入,不想要这句去掉
  7. (reverse return)
  8. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-26 21:00 , Processed in 0.174648 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表