Iteraciones while

Se piden los códigos de varias funciones. Atención, no uséis el módulo math.

  1. Programad una función entera @int_root(n)@ que dado un número natural nn retorne ⌊n⌋\lfloor\sqrt{n}\rfloor.

  2. Programad una función @int_log(a, b)@ que dados los números naturales aa mayor que uno y bb mayor que cero retorne el natural kk tal que ak≤b<ak+1a^k \le b < a^{k + 1}.

  3. Programad una función @gcd_lcm(a, b)@ que dados los números naturales aa and bb tales que a≠0a\not = 0 o b≠0b\not =0 retorna el máximo común divisor y el mínimo común múltiplo. Vuestro código ha de implementar el algoritmo de Euclides.

  4. Programad una función @is_prime(n)@ que dado un número natural nn retorna True si y sólo si nn es primo.

  5. Para poder participar en los juegos de mesa del casino se necesita adquirir fichas (tokens). Lo tokens rojos cuestan 77 euros y los amarillos 44 euros. Programad una función @buy_tokens(n)@ que dado un número nn de euros (n≥20n \ge 20), retorna la equivalencia en tokens. Cuando varias equivalencias son posibles la función retorna la que minimiza el número total de tokens.

  6. Programad una función string @max_overlap(s, t)@ que dados dos strings ss y tt retorna el string más largo que es un prefijo común de ss y tt.

Puntuación

La primera función vale 15 puntos. El resto vale 17 puntos cada una.

Ejemplo de sessión

Información del problema

Autoría: Jorge Castro

Generación: 2026-01-25T10:08:02.112Z

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