sábado, 24 de enero de 2009

Autogenerados por sus cifras (1)

En su blog Ciencia del siglo XXI. Mirando con la mente, Eugenio Manuel ha publicado hace unos días la siguiente curiosidad numérica

2187 = (2+18)7

Al leerla me pregunté si existirían más números de cuatro cifras que pudieran ser generados por esas mismas cifras y en el mismo orden. A esta forma de generar, la llamaré fuerte, pues existen otros números que pueden ser generados alterando el orden, como 6145=45*6+1. De estos diré que han sido producidos por una generación de tipo débil.

Con un algoritmo de búsqueda he encontrado otros ejemplos de autogeneración fuerte:

1285 = (1+28)*5 ; 3972 = 3+(9*7)2 ; 3125 = (3*1+2)5=(31+2)5 ; 6455 = (64-5)*5

El hecho de no haber usado la operación de dividir y además la imposición de algunas restricciones para evitar desbordamientos de memoria me impiden asegurar que estos cinco números sean los únicos de autogeneración fuerte con cuatro cifras.

Si encontráis alguno más, os ruego me aviséis.

¿Habrá alguno con tres cifras? ¿Y con cinco o seis?

Por la web he visto estos dos ejemplos impresionantes de generación débil con diez cifras











¿Existirán generaciones mutuas, en las que las cifras de A generen B y las de B generen A?

Si averiguo algo más os lo contaré.

sábado, 17 de enero de 2009

Sistema de numeración binaria


Idea para el aula

El sistema de numeración en base 2 puede tener un aprendizaje totalmente distinto que el del resto de sistemas en otras bases. Su esencia es la de intentar formar un número a partir de los sumandos 1, 2, 4, 8, 16,… tomados sin repetir. Por ello, si se presenta al alumnado un catálogo de estos números, representados como conjuntos o “montones”, basta ir eligiéndolos uno a uno para formar el número deseado.

Así, para formar el número 81, se van sumando los números 64, 32, 16, etc. añadiendo o quitando cada uno de ellos hasta llegar a la solución 81 = 64 + 16 + 1. La parte más difícil es interpretar después que esta suma da lugar a la representación binaria 1010001. Para ayudar en ese paso hemos creado una hoja de cálculo que visualiza tanto la agregación de los “montones” como la representación binaria a la que dan lugar.


No se dan aquí indicaciones de cómo usar esta hoja, pues su simplicidad permite varios itinerarios distintos en el aprendizaje y la elección de la metodología más adecuada a juicio de cada docente.

La hoja de cálculo de OpenOffice.org Calc está alojada en la siguiente dirección:


Al abrirla se nos consulta sobre la activación de macros. Se puede aceptar con confianza, porque sólo contiene un pequeño código para el funcionamiento de un botón.

sábado, 10 de enero de 2009

Un capicúa en la meta (3)

Definir funciones en una hoja de cálculo es muy útil, pero a veces puede resultar complicado si no se tiene costumbre. Para animaros a iniciar tareas de este tipo, copio aquí el código de la función que invierte las cifras de un número natural, y que es parte del “Algoritmo 196” ya descrito en una entrada anterior.

Por no alargar esta entrada, el código comentado y el correspondiente a la función ESCAPICUA lo tenéis en esta dirección:

http://www.hojamat.es/guias/descubrir/htm/ejemfun.htm


Código en Basic de OpenOffice.org:

Función INVERTIR_CIFRAS Objetivo: Si actúa sobre un número entero, devuelve otro número formado por las cifras del primero en orden inverso Observaciones: Si se aplica a un número no entero puede producir algún resultado inesperado

Public function invertir_cifras(n)
dim l%,i% 
dim auxi$,auxi2$,c$
dim m

auxi = str$(n)
l = len(auxi)
auxi=mid(auxi,2,l-1)
l = l-1 
auxi2="" 
for i=1 to l 
c=mid(auxi,i,1) 
auxi2=c+auxi2 
next i 
m=val(auxi2) 
invertir_cifras=m 
End function