甲和乙都是lisp编程高手,当场他俩就各编写了这么一段代码: - ;返回整数n的约数的个数->甲
- (defun tt1(n / list1 i)
- (setq i 1 list1 '(1))
- (while (<= (setq i (1+ i)) n)
- (if (= (rem n i) 0)
- (setq list1 (cons i list1))
- )
- )
- (length list1)
- )
- ;返回两位数n的个位与十位数之和->乙
- (defun tt2(n)
- (+ (fix (/ n 10)) (rem n 10))
- )
- ;返回两位数n的甲乙值
- (defun tt()
- (setq n 10 list2 nil)
-
- (while (< n 100)
- (setq list2 (cons (list n (tt1 n) (tt2 n)) list2))
- (setq n (1+ n))
- )
- (setq list2 (reverse list2))
- ; 输出表格
- (setq @dclfiledame (vl-filename-mktemp nil nil ".csv") ; 默认文件名、默认保存路径,扩展名为csv
- fid (open @dclfiledame "w")
- )
- (vlax-invoke
- (vlax-get-or-create-object "Wscript.Shell")
- 'RUN @dclfiledame) ;任意已经建立关联程序的文件
- (princ "两位数" fid) (princ "," fid) (princ "甲" fid) (princ "," fid) (princ "乙" fid) (princ "\n" fid)
- (foreach e list2
- (progn (princ (car e) fid) (princ "," fid) (princ (cadr e) fid) (princ "," fid) (princ (caddr e) fid) (princ "\n" fid))
- )
- (close fid)
-
- (princ)
- )
然后在WPS表格中用筛选的方法很快得到答案的
|