Se dice que un número entero está entre potencias sucesivas de n si x-1 es una potencia n-ésima y x+1 es una potencia (n+1)-ésima; es decir, si existen a y b tales que x-1 es a^n y x+1 es b^(n+1). Por ejemplo,
2 está entre potencias sucesivas de 0, ya que 1 = 1^0 y 3 = 3^1 15 está entre potencias sucesivas de 1, ya que 14 = 14^1 y 16 = 4^2 26 está entre potencias sucesivas de 2, ya que 25 = 5^2 y 27 = 3^3 |
Definir las funciones
entrePotencias :: Integer -> Integer -> Bool pares :: [(Integer,Integer)] paresEntrePotencias :: [(Integer,Integer)] |
tales que
- (entrePotencias n x) se verifica si x está entre potencias sucesivas de n. Por ejemplo,
entrePotencias 0 2 == True
entrePotencias 1 15 == True
entrePotencias 2 26 == True |
- pares es la lista de los números enteros ordenados por su suma y primer elemento. Por ejemplo,
λ> take 11 pares
[(0,0),(0,1),(1,0),(0,2),(1,1),(2,0),(0,3),(1,2),(2,1),(3,0),(0,4)] |
- paresEntrePotencias es la lista de los pares (n,x) tales que x está entre potencias sucesivas de n. Por ejemplo,
λ> take 10 paresEntrePotencias
[(1,0),(0,2),(1,3),(1,8),(1,15),(1,24),(2,26),(1,35),(1,48),(1,63)] |
Comprobar con QuickCheck que 26 es el único número que está entre potencias sucesivas con exponentes mayor que 1; es decir, que el único par (n,x) tal que x está entre potencias sucesivas de n con n mayor que uno es el (2,26).
Nota: Este ejercicio ha sido propuesto por Rebeca Isabel González Gordillo y está basado en el artículo El número 26 … ¡un número especial! de Amadeo Artacho en MatematicasCercanas.
Soluciones
- Las soluciones se pueden escribir en los comentarios.
- El código se debe escribir entre una línea con <pre lang=”haskell”> y otra con </pre>
Pensamiento
“El verdadero objetivo de la ciencia es el honor de la mente humana.”
Una solución de “Entre dos potencias sucesivas”