문제

내가 할 때 (/ 7 2), 결과를 얻으려면 어떻게해야합니까? 3? 내가한다면 (/ 7 2.0) 3.5, 예상대로.

도움이 되었습니까?

다른 팁

보다 바닥, 천장 및 잘림 ANSI Common LISP에서.

예제 (양수 및 음수 참조) :

CL-USER 218 > (floor -5 2)
-3
1

CL-USER 219 > (ceiling -5 2)
-2
-1

CL-USER 220 > (truncate -5 2)
-2
-1

CL-USER 221 > (floor 5 2)
2
1

CL-USER 222 > (ceiling 5 2)
3
-1

CL-USER 223 > (truncate 5 2)
2
1

일반적으로 분열에서 정수 자궁 절반이 사용됩니다.

당신은 사용할 수 있습니다 floor 기능:

(floor 7 2)
3
1

여러 값을 반환하고 첫 번째 값 만 필요합니다. 부터 floor 수행 할 수있는 여러 값을 반환합니다 multiple-value-bind 다음과 같이 :

(multiple-value-bind (q r) (floor 7 2) q)
=> 3

편집하다: Rainer가 그의 의견에서 언급 한 것처럼, 당신은 결과를 전달할 수 있습니다. floor 필요한 모든 것이 몫입니다.

[1]> (floor 7 2)
3 ;
1
[2]> (+ (floor 7 2) 5)
8
[3]>

나는 참조를 남기고있다 multiple-value-bind 대답에서, 친숙한 것은 중요한 기능이기 때문에.

사용 floor 기능. SBCL에서 :

* (floor (/ 7 2))

3
1/2

정수 부품과 분수 부품의 두 값이 반환됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top