SICP学习笔记 1.2.5 最大公约数

    练习 1.20

 

(define (gcd a b)
  (if (= b 0)
      a
      (gcd b (remainder a b))))
正则序      
(gcd 206 40)
--> (if (= 40 0) 206 (gcd 40 (r 206 40))) 
--> (gcd 
         40 
         (r 206 40))

--> (if (= (r 206 40) 0) 40 (gcd (r 206 40) (r 40 (r 206 40)))) 
--> (gcd 
         (r 206 40) 
         (r 40 (r 206 40)))
         
--> (gcd 
         (r 40 (r 206 40)) 
         (r (r 206 40) (r 40 (r 206 40))))
         
--> (gcd 
         (r (r 206 40) (r 40 (r 206 40))) 
         (r (r 40 (r 206 40)) (r (r 206 40) (r 40 (r 206 40)))))
         
--> (gcd (r (r 40 (r 206 40)) (r (r 206 40) (r 40 (r 206 40))))
         (r (r (r 206 40) (r 40 (r 206 40))) (r (r 40 (r 206 40)) (r (r 206 40) (r 40 (r 206 40))))))
         
--> 12 + (1 + 2 + 4 + 7) = 26

应用序
(gcd 206 40)
--> (if (= 40 0) 206 (gcd 40 (r 206 40)))
--> (gcd 40 (r 206 40))
--> (gcd 40 6)

--> (if (= 6 0) 40 (gcd 6 (r 40 6)))
--> (gcd 6 (r 40 6))
--> (gcd 6 4)

--> (gcd 4 2)
--> (gcd 2 0)
--> 1 + 1 + 1 + 1 = 4
 

你可能感兴趣的:(学习笔记)