http://erdos.csie.ncnu.edu.tw/~klim/scheme/lisp-1062.html
exercise 6: representing a pair with a number •Refer to exercise 2.5. •Note the requirement of nonnegative is removed. Your method should accept two integers.
解答:
(define (num-cons a b)
(* (expt 2 a) (expt 3 b)))
(define (num-car n)
(if (= 0 (modulo n 2))
(+ 1 (num-car (/ n 2)))
0))
(define (num-cdr n)
(if (= 0 (modulo n 3))
(+ 1 (num-cdr (/ n 3)))
0))
執行結果:
請問答案是不是沒有達到題目要的包括negative integer的要求 謝謝
回覆刪除