Se piden los códigos de varias funciones. Atención, no uséis el módulo math.
Programad una función entera @int_root(n)@ que dado un número natural retorne .
Programad una función @int_log(a, b)@ que dados los números naturales mayor que uno y mayor que cero retorne el natural tal que .
Programad una función @gcd_lcm(a, b)@ que dados los números naturales and tales que o 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.
Programad una función @is_prime(n)@ que dado un número natural
retorna True si y sólo si
es primo.
Para poder participar en los juegos de mesa del casino se necesita adquirir fichas (tokens). Lo tokens rojos cuestan euros y los amarillos euros. Programad una función @buy_tokens(n)@ que dado un número de euros (), retorna la equivalencia en tokens. Cuando varias equivalencias son posibles la función retorna la que minimiza el número total de tokens.
Programad una función @inv_factorial(n)@ que dado un entero retorna el número tal que .
La primera función vale 15 puntos. El resto vale 17 puntos cada una.
>>> int_root(19) 4 >>> int_log(3, 20) 2 >>> gcd_lcm(12,18) (6, 36) >>> is_prime(51) False >>> buy_tokens(50) (6, 2) >>> inv_factorial(50) 5