viernes, 27 de febrero de 2009

Código de búsqueda

Quienes seguís este blog habréis advertido que se propone en él el uso de las hojas de cálculo
para investigar y divertirse.

Hoy proponemos una macro para buscar ejemplos similares al propuesto por Eugenio Manuel en su blog Ciencia del Siglo XXI - Mirando con la mente.

882+332=8833

¿Existirán otros números de cuatro cifras con esta propiedad?

Si deseas averiguarlo, implementa este código, que te sirve para Excel y para OpenOffice.org Calc

(En rojo los comentarios)

Sub busqueda
dim i,j,k,l (Cifras del número)
dim a,b,c   (a y b están formados por dos cifras)

for i=0 to 9
for j=0 to 9
for k=0 to 9
for l=0 to 9

a=10*i+j  (Formamos un número con las dos primeras cifras)
b=10*k+l  (Formamos otro con las dos últimas)
c=100*a+b   (Formamos el número total)

if a^2+b^2=c then (Si se cumple, tenemos la solución)

msgbox(a)  (Se comunican las soluciones)
msgbox(b)
msgbox(c)
end if

next l
next k
next j
next i

End Sub

La respuesta es que existe otro número de cuatro cifras con la misma propiedad ¿Cuál?.

6 comentarios:

Claudio dijo...

(12)2 + (33)2 = 1233

Se supone que es 12 al cuadrado mas 32 al cuadrado

Antonio Roldán Martínez dijo...

Gracias, Claudio. Esa es la solución. Veo que eres un experto en esto de generar mediante potencias.

Claudio dijo...

No, lo que pasa es que colecciono este tipo de "rarezas" y las coloco como citas en el blog. Es más, creo que alguna de éstas ya la coloqué.

goyo lekuona dijo...

Hola Antonio ( y al resto claro)
Yo como soy mas primitivo, he construido la tabla en Excel para todos los valores ( en lugar de programar nada, a base de fuerza bruta ) y me sale otro caso que tambien cumple las condiciones
00^2 + 01^2 = 0001
Se considera correcto?
Un saludo
GoYo!

Antonio Roldán Martínez dijo...

Gracias Goyo. Yo creo que en este tipo de curiosidades somos nosotros los que ponemos las condiciones. Por tanto, decidimos admitir ceros y lo consideramos correcto. ¡Faltaría más!

goyo lekuona dijo...

Bieeeennnnnn!!!!!
Es que al ver el código, todas las cifras varian entre 0 y 9, de manera que me extrañaba que no apareciese esa posibilidad.

Un saludo a to2