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 @inv_factorial(n)@ que dado un entero n>1n > 1 retorna el número mm tal que (m−1)!<n≤m!(m - 1)! < n \le m!.

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-25T15:48:41.181Z

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