Clojure — funció until

En Haskell tenim una funció until que, donat un predicat pp, una funció ff i un valor inicial vv, va aplicant la funció ff tal que v,f(v),f(f(v))v, f(v), f(f(v))\ldots fins que es satisfa el predicat. Per exemple:

(until #(> % 100) #(* 2 %) 1)

té com a resultat 128.

  1. Implementeu la funció until1 en Clojure utilitzant el recur.

  2. Implementeu la funció until2 en Clojure amb funcions d’ordre superior.

  3. Implementeu l’algorisme d’Euclides en forma de funció mcd per calcular el màxim comú divisor utilitzant una de les funcions until.

    Entrada: a, b
    1. Si a=b, mcd=a, fi.
    2. Si a>b, canvi de a per a-b, anar a 1.
    3. Si a<b, canvi de b per b-a, anar a 1.

Informació del problema

Autoria: Jordi Delgado / Gerard Escudero

Generació: 2026-01-25T13:21:32.060Z

© Jutge.org, 2006–2026.
https://jutge.org