明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1273|回复: 6

[LISP]国庆节到了,祝大家节日快乐!!!

[复制链接]
发表于 2005-9-30 00:07 | 显示全部楼层 |阅读模式
[U]

国庆节到了,祝大家节日快乐!!!
出个思考题考考大家吧,一起思考一个吧,用Autolisp编写能计算它的程式
"一个庙,100个和尚,100个馒头,大和尚一人吃3个,中和尚一人吃2个,小和尚3人吃一个,请问大,中,小和尚分别多少个"


我试了一个,不行啊
(defun c:yy()
   (setq x 0 y 0 z 0)
   (repeat 100
           (setq x (+ x 1))
           (repeat 100
                  (if (= y 50) (setq y 1))
                  (setq y (+ y 1))
                  (repeat 100
                      (if (= z 100) (setq z 1))
                      (setq z (+ z 1))
                      (setq ss (+ (* x 3) (* y 2) (/ z 3)))
                      (if (= ss 100) (setq abc (list x y z)))
                  )
           )
   )
(princ abc)
(princ)
)    

[/U]
发表于 2005-9-30 08:12 | 显示全部楼层
哎,加班
发表于 2005-9-30 08:50 | 显示全部楼层
blue123发表于2005-9-30 0:07:00回复:(blue123)国庆节到了,祝大家节日快乐!!!  国庆节到了,祝大家节日快乐!!!出个思考题考考大家吧,一起思考一个吧,用Autolisp编写能计算它的程式\"一个庙,100个和尚,100个馒头,大
  1. (defun c:yy()
  2. (setq x 0 y 0 z 0 ALIST (LIST))
  3. (repeat 33
  4.   (repeat 50
  5.    (repeat 33
  6.     (setq ss (+ X X X Y Y (/ z 3)))
  7.     (if (= ss 100) (SETQ ALIST (APPEND ALIST (LIST (list x y z)))))
  8.     (setq z (+ z 3))
  9.    )
  10.    (SETQ Z 0 y (1+ y))
  11.   )
  12.   (SETQ Y 0 x (1+ x))
  13. )
  14. (PRINC ALIST) (PRINC "\n")
  15. (princ)
  16. )
结果:
((0 34 96) (0 35 90) (0 36 84) (0 37 78) (0 38 72) (0 39 66) (0 40 60) (0 41
54) (0 42 48) (0 43 42) (0 44 36) (0 45 30) (0 46 24) (0 47 18) (0 48 12) (0 49
6) (1 33 93) (1 34 87) (1 35 81) (1 36 75) (1 37 69) (1 38 63) (1 39 57) (1 40
51) (1 41 45) (1 42 39) (1 43 33) (1 44 27) (1 45 21) (1 46 15) (1 47 9) (1 48
3) (2 31 96) (2 32 90) (2 33 84) (2 34 78) (2 35 72) (2 36 66) (2 37 60) (2 38
54) (2 39 48) (2 40 42) (2 41 36) (2 42 30) (2 43 24) (2 44 18) (2 45 12) (2 46
6) (2 47 0) (3 30 93) (3 31 87) (3 32 81) (3 33 75) (3 34 69) (3 35 63) (3 36
57) (3 37 51) (3 38 45) (3 39 39) (3 40 33) (3 41 27) (3 42 21) (3 43 15) (3 44
9) (3 45 3) (4 28 96) (4 29 90) (4 30 84) (4 31 78) (4 32 72) (4 33 66) (4 34
60) (4 35 54) (4 36 48) (4 37 42) (4 38 36) (4 39 30) (4 40 24) (4 41 18) (4 42
12) (4 43 6) (4 44 0) (5 27 93) (5 28 87) (5 29 81) (5 30 75) (5 31 69) (5 32
63) (5 33 57) (5 34 51) (5 35 45) (5 36 39) (5 37 33) (5 38 27) (5 39 21) (5 40
15) (5 41 9) (5 42 3) (6 25 96) (6 26 90) (6 27 84) (6 28 78) (6 29 72) (6 30
66) (6 31 60) (6 32 54) (6 33 48) (6 34 42) (6 35 36) (6 36 30) (6 37 24) (6 38
18) (6 39 12) (6 40 6) (6 41 0) (7 24 93) (7 25 87) (7 26 81) (7 27 75) (7 28
69) (7 29 63) (7 30 57) (7 31 51) (7 32 45) (7 33 39) (7 34 33) (7 35 27) (7 36
21) (7 37 15) (7 38 9) (7 39 3) (8 22 96) (8 23 90) (8 24 84) (8 25 78) (8 26
72) (8 27 66) (8 28 60) (8 29 54) (8 30 48) (8 31 42) (8 32 36) (8 33 30) (8 34
24) (8 35 18) (8 36 12) (8 37 6) (8 38 0) (9 21 93) (9 22 87) (9 23 81) (9 24
75) (9 25 69) (9 26 63) (9 27 57) (9 28 51) (9 29 45) (9 30 39) (9 31 33) (9 32
27) (9 33 21) (9 34 15) (9 35 9) (9 36 3) (10 19 96) (10 20 90) (10 21 84) (10
22 78) (10 23 72) (10 24 66) (10 25 60) (10 26 54) (10 27 48) (10 28 42) (10 29
36) (10 30 30) (10 31 24) (10 32 18) (10 33 12) (10 34 6) (10 35 0) (11 18 93)
(11 19 87) (11 20 81) (11 21 75) (11 22 69) (11 23 63) (11 24 57) (11 25 51)
(11 26 45) (11 27 39) (11 28 33) (11 29 27) (11 30 21) (11 31 15) (11 32 9) (11
33 3) (12 16 96) (12 17 90) (12 18 84) (12 19 78) (12 20 72) (12 21 66) (12 22
60) (12 23 54) (12 24 48) (12 25 42) (12 26 36) (12 27 30) (12 28 24) (12 29
18) (12 30 12) (12 31 6) (12 32 0) (13 15 93) (13 16 87) (13 17 81) (13 18 75)
(13 19 69) (13 20 63) (13 21 57) (13 22 51) (13 23 45) (13 24 39) (13 25 33)
(13 26 27) (13 27 21) (13 28 15) (13 29 9) (13 30 3) (14 13 96) (14 14 90) (14
15 84) (14 16 78) (14 17 72) (14 18 66) (14 19 60) (14 20 54) (14 21 48) (14 22
42) (14 23 36) (14 24 30) (14 25 24) (14 26 18) (14 27 12) (14 28 6) (14 29 0)
(15 12 93) (15 13 87) (15 14 81) (15 15 75) (15 16 69) (15 17 63) (15 18 57)
(15 19 51) (15 20 45) (15 21 39) (15 22 33) (15 23 27) (15 24 21) (15 25 15)
(15 26 9) (15 27 3) (16 10 96) (16 11 90) (16 12 84) (16 13 78) (16 14 72) (16
15 66) (16 16 60) (16 17 54) (16 18 48) (16 19 42) (16 20 36) (16 21 30) (16 22
24) (16 23 18) (16 24 12) (16 25 6) (16 26 0) (17 9 93) (17 10 87) (17 11 81)
(17 12 75) (17 13 69) (17 14 63) (17 15 57) (17 16 51) (17 17 45) (17 18 39)
(17 19 33) (17 20 27) (17 21 21) (17 22 15) (17 23 9) (17 24 3) (18 7 96) (18 8
90) (18 9 84) (18 10 78) (18 11 72) (18 12 66) (18 13 60) (18 14 54) (18 15 48)
(18 16 42) (18 17 36) (18 18 30) (18 19 24) (18 20 18) (18 21 12) (18 22 6) (18
23 0) (19 6 93) (19 7 87) (19 8 81) (19 9 75) (19 10 69) (19 11 63) (19 12 57)
(19 13 51) (19 14 45) (19 15 39) (19 16 33) (19 17 27) (19 18 21) (19 19 15)
(19 20 9) (19 21 3) (20 4 96) (20 5 90) (20 6 84) (20 7 78) (20 8 72) (20 9 66)
(20 10 60) (20 11 54) (20 12 48) (20 13 42) (20 14 36) (20 15 30) (20 16 24)
(20 17 18) (20 18 12) (20 19 6) (20 20 0) (21 3 93) (21 4 87) (21 5 81) (21 6
75) (21 7 69) (21 8 63) (21 9 57) (21 10 51) (21 11 45) (21 12 39) (21 13 33)
(21 14 27) (21 15 21) (21 16 15) (21 17 9) (21 18 3) (22 1 96) (22 2 90) (22 3
84) (22 4 78) (22 5 72) (22 6 66) (22 7 60) (22 8 54) (22 9 48) (22 10 42) (22
11 36) (22 12 30) (22 13 24) (22 14 18) (22 15 12) (22 16 6) (22 17 0) (23 0
93) (23 1 87) (23 2 81) (23 3 75) (23 4 69) (23 5 63) (23 6 57) (23 7 51) (23 8
45) (23 9 39) (23 10 33) (23 11 27) (23 12 21) (23 13 15) (23 14 9) (23 15 3)
(24 0 84) (24 1 78) (24 2 72) (24 3 66) (24 4 60) (24 5 54) (24 6 48) (24 7 42)
(24 8 36) (24 9 30) (24 10 24) (24 11 18) (24 12 12) (24 13 6) (24 14 0) (25 0
75) (25 1 69) (25 2 63) (25 3 57) (25 4 51) (25 5 45) (25 6 39) (25 7 33) (25 8
27) (25 9 21) (25 10 15) (25 11 9) (25 12 3) (26 0 66) (26 1 60) (26 2 54) (26
3 48) (26 4 42) (26 5 36) (26 6 30) (26 7 24) (26 8 18) (26 9 12) (26 10 6) (26
11 0) (27 0 57) (27 1 51) (27 2 45) (27 3 39) (27 4 33) (27 5 27) (27 6 21) (27
7 15) (27 8 9) (27 9 3) (28 0 48) (28 1 42) (28 2 36) (28 3 30) (28 4 24) (28 5
18) (28 6 12) (28 7 6) (28 8 0) (29 0 39) (29 1 33) (29 2 27) (29 3 21) (29 4
15) (29 5 9) (29 6 3) (30 0 30) (30 1 24) (30 2 18) (30 3 12) (30 4 6) (30 5 0)
(31 0 21) (31 1 15) (31 2 9) (31 3 3) (32 0 12) (32 1 6) (32 2 0))


发表于 2005-9-30 09:33 | 显示全部楼层
本帖最后由 作者 于 2005-9-30 10:42:56 编辑

  1. (defun c:test ()
  2.   (setq x 0)
  3.   (while (<= x 100)
  4.     (setq y 0)
  5.     (while (<= y (- 100 x))
  6.       (setq z 0)
  7.       (while (<= z (- 100 x y))
  8. (if (= (+ (* 3 x) (* 2 y) (/ z 3.0)) 100)
  9.    (progn
  10.      (princ "\n大和尚=") (princ x)(princ " ; ")(princ "中和尚=")(princ y)(princ " ; ")(princ "小和尚=")(princ z)))
  11. (setq z (1+ z)))
  12.       (setq y (1+ y)))
  13.     (setq x (1+ x)))
  14.   (princ)
  15. )
发表于 2005-9-30 09:51 | 显示全部楼层
又改了一下:
  1. (defun c:yy()
  2. (setq x 0 y 0 z 0)
  3. (repeat 33
  4.   (repeat 50
  5.    (repeat 33
  6.     (if (= (+ X X X Y Y (/ z 3)) (+ X Y Z) 100) (PROGN
  7.      (PRINC "\n大和尚=") (PRINC X)
  8.      (PRINC ";中和尚=") (PRINC Y)
  9.      (PRINC ";小和尚=") (PRINC Z)
  10.     ))
  11.     (setq z (+ z 3))
  12.    )
  13.    (SETQ Z 0 y (1+ y))
  14.   )
  15.   (SETQ Y 0 x (1+ x))
  16. )
  17. (princ)
  18. )
  19. 结果:
  20. 大和尚=0;中和尚=40;小和尚=60
  21. 大和尚=5;中和尚=32;小和尚=63
  22. 大和尚=10;中和尚=24;小和尚=66
  23. 大和尚=15;中和尚=16;小和尚=69
  24. 大和尚=20;中和尚=8;小和尚=72
  25. 大和尚=25;中和尚=0;小和尚=75
发表于 2005-9-30 10:47 | 显示全部楼层
3楼、4楼和尚编制“超编”或“缺编”:
  1. (defun c:test ()
  2.   (setq x 0)
  3.   (while (<= x 100)
  4.     (setq y 0)
  5.     (while (<= y (- 100 x))
  6.       (setq z 0)
  7.       (while (<= z (- 100 x y))
  8. (if (and (= (+ (* 3 x) (* 2 y) (/ z 3.0)) 100.0)
  9.    (= (+ x y z) 100)
  10.      )
  11.    (progn
  12.      (setq m (1+ m))
  13.      (princ "\n大和尚=")(princ x) (princ " ; ")
  14.      (princ "中和尚=") (princ y)  (princ " ; ")
  15.      (princ "小和尚=") (princ z)
  16.    )
  17. )
  18. (setq z (1+ z))
  19.       )
  20.       (setq y (1+ y))
  21.     )
  22.     (setq x (1+ x))
  23.   )
  24.   (princ)
  25. )
 楼主| 发表于 2005-9-30 21:14 | 显示全部楼层
五楼的大侠好历害,这个程式应该够简单够好的了.谢谢支持
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-19 01:43 , Processed in 0.242064 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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