2012-12-11 3 views
1

기본 계승 함수를 실행하기 위해 http://www.solve-et-coagula.com/As3Lisp.html을 사용하고 있습니다.십진법 표기법으로 과학 표기법을 출력하십시오.

과학적 표기법으로 결과를 출력하고 있지만 전체 확장 된 숫자를보고 싶습니다.

(defun factorial (n) 
(cond ((= n 0) 1) 
     (t (* n (factorial (- n 1)))))) 

(factorial 100) 

9.33262154439441e+157 

나는, 다양한 format 명령을 시도했습니다 (format t "~D" (factorial 100)) 승자처럼 보이지만 그것은 작동하지 않습니다. 또한 설정을 시도했지만 여전히 작동하지 않습니다.

내 명령에 문제가 있거나 환경입니까?

+0

이것은 어떤 종류의 Lisp이고 어떤 구현이 제공하는지 알 수 있습니까? 관심이 있으시면 저자에게 질문하지 않으시겠습니까? –

+0

방금 ​​시작 했으므로 "관심이있는"방법이 무엇인지 잘 모르겠습니다 :) 대부분은 시작하기에 안정적인 장소가 있기 때문에 주로 작동 방법을 알고 싶습니다. 귀하의 의견에서 환경 변화가 도움이 될 것 같습니까? – Ben

+3

Lisp을 배우고 싶다면 Lisp 구현과 일부 문서를 사용할 것을 제안합니다. 커먼 리스프 (Common Lisp) 나 스킴 (Scheme)과 같은 확립 된 방언을 사용하면 도움이 될 것입니다. –

답변

1

트릭을 수행 할 다른 환경이 나옵니다.

Gnu Common Lisp (http://www.cs.utexas.edu/~novak/gclwin.html)을 사용했는데 응답이 예상대로 반환됩니다.

+1

나는이 지위 이전에 GCL에 대해 들어 보지 못했다. Wikipedia는 GCL이 아직 CL 사양을 완벽하게 준수하지 않는다고 말합니다. 나는 위키 피 디아 (Wikipedia)에서 그 진술을 얼마나 많이 가지고 있는지 알지 못합니다 ... 그러나 당신의 컴퓨터에 CL 환경을 설치하려고한다면 다른 완벽한 대안이 있습니다 : Clozure Common Lisp (CCL), Steel-Bank Common Lisp (SBCL), CMUCL, 우선. –

1

구현이 srfi-28 (형식)을 지원하는 경우 ~ F가 트릭을 수행 할 것입니다. 닭 방식에 :

#;1> (use format) 
; loading /usr/local/lib/chicken/6/format.import.so ... 
; loading /usr/local/lib/chicken/6/chicken.import.so ... 
; loading /usr/local/lib/chicken/6/srfi-13.import.so ... 
; loading /usr/local/lib/chicken/6/data-structures.import.so ... 
; loading /usr/local/lib/chicken/6/ports.import.so ... 
; loading /usr/local/lib/chicken/6/extras.import.so ... 
; loading /usr/local/lib/chicken/6/format.so ... 
#;2> (format #t "~F~%" (factorial 100)) 
93326215443944100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0 
#t 

체크 아웃 format egg specification

환호.

관련 문제