Iteracions while

Es demanen els codis de diverses funcions. Atenció: no utilitzeu el mòdul math.

  1. Programeu una funció entera @int_root(n)@ que donat un nombre natural nn retorni ⌊n⌋\lfloor \sqrt {n} \rfloor.

  2. Programeu una funció @int_log(a, b)@ que donats els nombres naturals aa més gran que un i bb més gran que zero retorni el natural kk tal que ak≤b<ak+1a^k \le b < a^{k + 1}.

  3. Programeu una funció @gcd_lcm(a, b)@ que donats els nombres naturals aa and bb tals que a≠0a \not= 0 o b≠0b \not= 0 retorna el màxim comú divisor i el mínim comú múltiple. El vostre codi ha d’implementar l’algoritme d’Euclides.

  4. Programeu una funció @is_prime(n)@ que donat un nombre natural nn retorna True si i només si nn és primer.

  5. Per poder participar en els jocs de taula del casino es necessita adquirir fitxes (tokens). El tokens vermells costen 77 euros i els grocs 44 euros. Programeu una funció @buy_tokens(n)@ que donat un nombre nn d’euros (n≥n \ge 20), retorna l’equivalència en tokens. Quan diverses equivalències són possibles la funció retorna la que minimitza el nombre total de tokens.

  6. Programeu una funció string @max_overlap(s, t) @ que donats dos strings ss i tt retorna el string més llarg que és un prefix comú de ss i tt.

Puntuació

La primera funció val 15 punts. La resta val 17 punts cadascuna.

Exemple de sessió

Informació del problema

Autoria: Jorge Castro

Generació: 2026-01-25T10:08:06.811Z

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