与えられた数字のケタ数
Posted feedbacks - Emacs Lisp
今度は数値計算でやってみた。そのままCommon Lispでも通る。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | (require 'cl)
(defun keta (n)
(cond ((zerop n) (values 1 1))
((< n 0) (keta (- n)))
(t (loop
with d = 1
with len = 0
while (>= (/ n d) 1) do
(incf len)
(setf d (* d 10))
finally (return (values len (/ d 10)))))))
(keta 2469) ; => (4 1000)
(keta 600) ; => (3 100)
(keta 1) ; => (1 1)
(keta 0) ; => (1 1)
(keta -2469) ; => (4 1000)
|


susu
#3396()
Rating0/0=0.00
このお題はsusuさんの投稿です。ご投稿ありがとうございます。
[ reply ]