Tôi nhận ra rằng có một mô hình rõ ràng trong đầu ra này, tôi chỉ muốn biết tại sao REPL của lispbox hủy bỏ khi tôi cố gắng chạy bất cứ điều gì> 52. Ngoài ra, mọi đề xuất về cải thiện mã được chào đón nhiều hơn.^-^Câu hỏi Odd liên quan đến dự án euler 72 (lisp)
(defun count-reduced-fractions (n d sum)
(setf g (gcd n d))
(if (equal 1 d)
(return-from count-reduced-fractions sum)
(if (zerop n)
(if (= 1 g)
(count-reduced-fractions (1- d) (1- d) (1+ sum))
(count-reduced-fractions (1- d) (1- d) sum))
(if (= 1 g)
(count-reduced-fractions (1- n) d (1+ sum))
(count-reduced-fractions (1- n) d sum)))))
Tất cả tôi nhận được khi tôi gọi
(count-reduced-fractions 53 53 0)
là
; Đánh giá hủy bỏ
Nó không có ý nghĩa nhiều với tôi , xem xét nó sẽ chạy (và trả lại kết quả chính xác) trên tất cả các số dưới đó, và tôi có thể (nếu tôi muốn) làm 53 trong đầu của tôi, trên giấy, hoặc một dòng tại một thời điểm trong lisp. Tôi thậm chí còn thử nghiệm trên nhiều con số khác nhau lớn hơn 53 để chắc chắn rằng nó không phải là cụ thể cho 53. Không có gì hoạt động.
Các điểm trong văn bản của bạn có biểu thị gì không? – Svante
nó giống như một khuôn mặt cười.^- ^,^_ ^, :), v.v. v.v. –
Tôi biết biểu tượng cảm xúc, ý tôi là điểm "......". – Svante