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!