20/10/2018, 07:11:17 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias: Homenaje a NUMERARIUS
 
 
Páginas: [1]   Ir Abajo
  Imprimir  
Autor Tema: Crear una pirámide escalonada.  (Leído 182 veces)
0 Usuarios y 1 Visitante están viendo este tema.
Cainuriel
Nuevo
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 2


Ver Perfil
« : 05/10/2018, 05:41:12 am »

Hola amigos/as de las matemáticas:

Soy nuevo en el foro, y pido disculpas de antemano ante posibles torpezas...

Para empezar, no sé si éste es el foro adecuado para mi consulta. Pero allá va...

Soy informático, pero muy malo en matemáticas, y busco ayuda para desarrollar una fórmula que agilice mi función.

Mi problema es el siguiente:
Tengo que realizar unas pirámides escalonadas con latas, y tengo que determinar el número de niveles que se pueden realizar escalonadamente, con n latas.
Los niveles, son números perfectos cuadrados.. 1 4 9 25... etcétera, como es lógico.
El problema es que no sé como determinar la escala, por ejemplo, si el número es 50 , no valen estos dos niveles, 1, 49 , sino 9,16,25...

Busco una fórmula que me de el cálculo de estos niveles escalonados...

Lo dicho, si este no es el foro adecuado, infinitas disculpas, y perdonen las molestias.

Un saludo desde Palma de Mallorca,
Fernando.
En línea
Luis Fuentes
el_manco
Administrador
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 42.578


Ver Perfil
« Respuesta #1 : 05/10/2018, 06:49:30 am »

Hola

 Bienvenido al foro.

 Recuerda leer y seguir  las reglas del mismo así como el tutorial del LaTeX para escribir las fórmulas matemáticas correctamente.

Mi problema es el siguiente:
Tengo que realizar unas pirámides escalonadas con latas, y tengo que determinar el número de niveles que se pueden realizar escalonadamente, con n latas.
Los niveles, son números perfectos cuadrados.. 1 4 9 25... etcétera, como es lógico.
El problema es que no sé como determinar la escala, por ejemplo, si el número es 50 , no valen estos dos niveles, 1, 49 , sino 9,16,25...

Busco una fórmula que me de el cálculo de estos niveles escalonados...


 Entiendo que quieres analizar la posibilidad de escribir un número [texx]n[/texx] como suma de cuadrados consecutivos (que geométricamente se interpretan como los pisos cuadrados de latas).

 Fíjate que:

[texx] S(a)=1^2+2^2+3^2+\ldots+a^2=\dfrac{a(a+1)(2a+1)}{6}[/texx]

 y por tanto:

[texx] T(a,b)=a^2+(a+1)^2+\ldots+b^2=S(b)-S(a-1)=\dfrac{b(b+1)(2b+1)-a(a-1)(2a-1)}{6}[/texx]

 Entonces fijado [texx]n[/texx] se trata de hallar valores naturales de [texx]a[/texx] y [texx]b[/texx] que resuelvan la ecuación:

[texx] T(a,b)=n[/texx]

 Es claro que no siempre tendrá solución (por ejemplo [texx]n=6[/texx]). Es una ecuación diofántica de tercer grado; a priori no me tiene pinta de que sea muy fácil de resolver explícitamente.

 Desde un punto de vista práctico y dependiendo del volumen de datos que puedas llegar a manejar se puede programar fácilmente un algoritmo que por fuerza bruta la resuelva. Si quieres más detalles de esto concreta un poco en que rango podría moverse [texx]n[/texx] y si efectivamente buscas un enfoque práctico o uno más teórico.

Saludos.
En línea
Cainuriel
Nuevo
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 2


Ver Perfil
« Respuesta #2 : 05/10/2018, 07:44:27 am »

Rango entre  1 y 1e6
Solo una cosa más, si eres tan amable...

¿A qué te refieres a resolverlo con Fuerza Bruta?

Gracias adelantadas...
En línea
Luis Fuentes
el_manco
Administrador
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 42.578


Ver Perfil
« Respuesta #3 : 05/10/2018, 07:53:47 am »

Hola

Solo una cosa más, si eres tan amable...

¿A qué te refieres a resolverlo con Fuerza Bruta?

Gracias adelantadas...

Pues directamente con un bucle:

b desde 1 hasta MAX
a desde 1 hasta b-1

comprobar si T(a,b)=n.

A la hora de elegir MAX teniendo en cuenta que [texx]S(a)>\dfrac{a^3}{6}[/texx] se puede tomar:

[texx]MAX=floor(\sqrt[3]{6n}])[/texx]

Saludos.

P.D. Si el rango es:
Cita
Rango entre  1 y 1e6

Se puede ver que basta llegar MAX=144. Eso supone que el bucle anidado se ejecuta 10296 veces. Me parece muy asumible para la velocidad actual de los ordenadores.
En línea
Páginas: [1]   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.4 | SMF © 2006, Simple Machines LLC XHTML 1.0 válido! CSS válido!