반복문 while과 repeat를 중첩 입력한정수를 결과값으로 가지는 숫자들을 출력하면서 출력한 수를 알준다.
세번중첩했을뿐인데 괄호관리가 힘들다.
코드를 한번에 쓰는게아니라 그때그때 편집하는데 괄호관리하는거는 좀 난감하다.
오토리습 출력함수 c의 prlntf같은거 없을까?
(defun c:asdf()
(setq num(getint"\n정수를 입력해주세요."))
(setq i 0)
(setq j 0)
(setq k 0)
(setq sum 0)
(while (<= i 100)
(setq j 0)
(while (<= j 100)
(setq k 0)
(while (<= k 100)
;(setq k 0)
(if
(= (+ i j k) num)
(progn
(princ "\n")
(princ i)
(princ "+")
(princ j)
(princ "+")
(princ k)
(princ "=")
(princ (+ i j k))
(setq sum (+ sum 1))
);progn끝
);if
(setq k (+ k 1))
);while k
(setq j (+ j 1))
);while j
(setq i (+ i 1))
);while i
(princ "\n num 의 합을나눈수는")(princ sum)
(princ)
)
(defun c:asdfa()
(setq num(getint"\n정수를 입력해주세요."))
(setq i 0)
(setq sum 0)
(repeat 100
(setq j 0)
(repeat 100
(setq k 0)
(repeat 100
(if (= (+ i j k) num)
(progn
(princ "\n")
(princ i)
(princ "+")
(princ j)
(princ "+")
(princ k)
(princ "=")
(princ (+ i j k))
(setq sum (1+ sum))
)
)
(setq k (1+ k))
)
(setq j (1+ j))
)
(setq i (1+ i))
)
(princ "\n원하는숫자는")
(princ sum)
(princ)
)