#algorithm #scheme48
#алгоритм #scheme48
Вопрос:
Я пытаюсь написать функцию GCD в scheme48 с нуля, но продолжаю заставлять функцию входить в бесконечный цикл. Я считаю, что логика верна — очевидно, я что-то упускаю. Любая помощь была бы отличной. Также я не могу использовать встроенные функции, такие как abs()
в остатке, в моем решении.
(define (mygcd a b)
(cond ((equal? a b) a)
((> a b) (mygcd (- a b)(b))
(else (mygcd (a)(- b a))))
Комментарии:
1. Отсутствует тест для b == 0.
2. куда бы я это поместил?