Comment detail

与えられた数字のケタ数 (Nested Flatten)
Lisp1.5です。ABSがないので自作しています。
2469, 600, 1, 0, -2469の実行結果:
(4 1000)
(3 100)
(1 1)
(1 1)
(4 1000)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
DEFINE((
(ABS (LAMBDA (N) (COND 
        ((MINUSP N) (MINUS N))
        (T N))))

(FIGURE1 (LAMBDA (X N ACC) (COND
            ((ZEROP X) (QUOTE (1 1)))
            ((LESSP X N) (LIST ACC (EXPT 10 (SUB1 ACC))))
            (T (FIGURE1 X (TIMES 10 N) (ADD1 ACC))))))

(FIGURE (LAMBDA (N) (FIGURE1 (ABS N) 1 0)))  ))

MAP((2469 600 1 0 -2469)
    (LAMBDA (X) (PRINT (FIGURE (CAR X)))))

Index

Feed

Other

Link

Pathtraq

loading...