Inny sposób pisania procedury wartości minimalnej w schemacie?

Więc jeśli mam następujące, które zwraca najmniejszą wartość z zestawu czterech liczb:

(define (minimum2 a b c d)
  (cond ((and (< a b) (< a c) (< a d)) a)
        ((and (< b c) (< b d)) b)
        ((< c d) c)
        (else d)))

Ale chcę to napisać, aby porównać a do b i znaleźć najmniejszą wartość między tymi dwoma, a następnie porównać c i d, i znaleźć najmniejszą wartość między nimi, a następnie porównać te dwie najmniejsze wartości razem, aby znaleźć rzeczywiste minimum . Jeśli to, co napisałem, było trudne do zrozumienia, pomyśl o tym jak o nawias turniejowy, gdzie „gra” b, a zwycięzca gra drugiego zwycięzcę pomiędzy cid. Z góry dziękuję za pomoc!

questionAnswers(2)

yourAnswerToTheQuestion