首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> C++ 入門

SICP 習題 2.8 解析:區間減法實現

     編輯:C++ 入門

題目背景

SICP (《計算機程序的構造與解釋》) 習題 2.8:已知區間加法 add-interval,實現區間減法 sub-interval。

區間表示

區間 [low, high] 由下界和上界構成:

(define (add-interval x y)
  (make-interval (+ (lower-bound x) (lower-bound y))
                 (+ (upper-bound x) (upper-bound y))))

區間減法實現

減法是加法的逆運算:[a,b] - [c,d] = [a-d, b-c]。即下界減去對方上界,上界減去對方下界。

(define i1 (make-interval 10 20))  ; [10,20]
(define i2 (make-interval 3 7))     ; [3,7]
(sub-interval i1 i2)  ; → [10-7, 20-3] = [3,17]
; 意義:i1 中任意值減去 i2 中任意值,結果範圍為 [3,17]

總結

本題極簡單,僅為熟悉區間算術抽象。關鍵理解:區間運算結果為所有可能組合的值域包絡。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved