Решение упражнения 2.17 из SICP

24 January, 2008 (20:59) | Решения упражнений

При нахождении последней пары мы просто будем двигаться по списку пар, начиная с головы списка, и проверять, не указывает ли хвостовой указатель головной пары (получаемый процедурой cdr) на nil. Как только мы обнаржим такую пару, мы ее вернем.

(define (last-pair list)
  (if (null? (cdr list))
      list
      (last-pair (cdr list))))

Написать код в данном случае даже проще, чем его описать. Это не случайно.

Write a comment