(define (first-divisor n m i)
(cond
[(= i1) 1]
[else (cond
[(and (= (remainder n i) 0)
(= (remainder m i) 0)) i]
[else (first-divisor n m (- i1))])]))
(define (gcd-structural n m)
(first-divisor n m (min n m)))
1. まず,n とm の小さい方を変数 i に入れる.
2. i がn とm の両方を割れれば i の値を返し,終了.
3. i の値を1小さくして2へ.
→n とm は変わらない.i が変化
「i で割り切れるかを調べながら,
i を1減らす」ことを,割り切れる
まで繰り返す
93