問題1.20

ちょっと挫折しました...余力があれば後で戻ってくるかも。
AnswerBook

一応、作用的順序評価はやってみた。

; 作用的順序評価

(if (= 40 0)
    206
    (gcd 40 (remainder 206 40)))

(if (= 40 0)
    206
    (if (= 6 0)
	40
	(gcd 40 (remainder 40 6))))

(if (= 40 0)
    206
    (if (= 6 0)
	40
	(if (= 4 0)
	    6
	    (gcd 4 (remainder 6 4)))))

(if (= 40 0)
    206
    (if (= 6 0)
	40
	(if (= 4 0)
	    6
	    (if (= 2 0)
		4
		(gcd 2 (remainder 4 2))))))

(if (= 40 0)
    206
    (if (= 6 0)
	40
	(if (= 4 0)
	    6
	    (if (= 2 0)
		4
		(if (= 0 0)
		    2
		    (gcd 0 (remainder 2 0)))))))

実際に呼ばれるのは
(remainder 206 40)
(remainder 40 6)
(remainder 6 4)
(remainder 4 2)

作用順序評価で実行される回数 -> 4回