-1
可能重複:
Coercing numbers to lists in common lisp如何從一個整數一個單一的數字Common Lisp中
我在Common Lisp的初學者。
如果我有號碼123456890,我想單獨獲取號碼1 2 3 5 9如何在普通的lisp中執行此操作?
可能重複:
Coercing numbers to lists in common lisp如何從一個整數一個單一的數字Common Lisp中
我在Common Lisp的初學者。
如果我有號碼123456890,我想單獨獲取號碼1 2 3 5 9如何在普通的lisp中執行此操作?
首先,很明顯,這個問題在多次解決之前就已經解決了,而且在您提出問題之前,您必須先搜索解決方案,否則會讓其他人難以找到一個好的解決方案。所以,這裏有一個較老的答案:Coercing numbers to lists in common lisp
(defun int-to-list (int)
(assert (>= int 0) nil "Argument must be non-negative")
(if (= int 0) (list 0)
(loop with result = nil
while (> int 0) do
(multiple-value-bind (divisor remainder)
(floor int 10)
(push remainder result)
(setf int divisor))
finally (return result))))
你會怎麼做_any_語言? –
我沒有真正嘗試過任何常見的lisp。我記得很久以前,我曾嘗試在C語言中使用for循環和「%10」,但無論我如何更改它,它都不起作用,並且當其中一個數字爲0時出現問題。 – imu96