martes, 26 de abril de 2011

Chica, chico, chica…

Es tradición que en comidas de empresa o familiares se ponga empeño en que no se sienten juntas dos mujeres (o dos hombres), y se programa siempre el esquema chica, chico, chica… ¿Cómo estudiaría esta costumbre la Combinatoria?

El problema es más interesante si sólo prohibimos que estén juntas dos chicas, por ejemplo. Lo expresamos mediante unos y ceros:

Consideremos todos los conjuntos ordenados formados por ceros y unos, como 11001010. Exijamos que no haya dos ceros consecutivos. ¿Cuántos conjuntos ordenados de ese tipo aparecerán para cada valor de n? Representaremos ese número como O(n)

Para n=1 sólo existen dos conjuntos ordenados, (1) y (0), luego O(1)=2

Si n=2 obtendremos tres: (11),(10) y (01) (recuerda que están ordenados). O(2)=3

Si n=3 se pueden formar estos 5: (111), (110), (101), (011), (010). O(3)=5

Pero estos números; 2, 3, 5… ¡son términos de la sucesión de Fibonacci! ¿Seguirá ocurriendo así? ¿Será 8 el siguiente número correspondiente a conjuntos de cuatro símbolos (O(4)=8 y 13 el valor de O(5)? Te dejamos este reto. Recuerda la relación de Fibonacci y demuestra que nuestros conjuntos la cumplen. Como ayuda, considera los conjuntos de n+1 elementos divididos en dos clases, los que comienzan por 1 y los que lo hacen con 0.

Si lo has resuelto, intenta esto otro: ¿Qué significado tiene esta sucesión de números (relacionada con lo anterior)?: 0, 1, 3, 8, 19, 43, 94, 201, 423,…Puedes buscar en la Red.

Ejemplos como este desmitifican el carácter casi mágico con que se explica la presencia de los números de Fibonacci en la naturaleza. Aparecen porque son consecuencia de procesos de agregación y ordenación que a veces son tan complejos que permanecen ocultos, pero que son causa de la presencia de estos números.

martes, 12 de abril de 2011

Tozudos semiprimos

 (Con esta entrada participamos en el Carnaval de Matemáticas, edición 2.3, oganizado por el blog Los Matemáticos no son gente seria, de nuestro amigo Juan Martínez-Tébar Giménez)



El número 5282284277692667149 es semiprimo, porque solo posee dos factores primos:
5282284277692667149=2298321847*2298322267.

Lo curioso es que si encontramos la media de ambos primos, el resultado también es semiprimo:
(2298321847+2298322267)/2=2298322057=47809*48073, con ambos factores primos.

Pero si volvemos a hallar la media, obtenemos otro semiprimo:

(47809+48073)/2=47941=191*251

Y otro: (191+251)/2=221=13*17

Y otro más: (13+17)/2=15=3*5

Hasta llegar al último: (3+5)/2=4=2*2

¿Es este un comportamiento frecuente o una rareza? ¿Hay muchos números semiprimos de esta clase?

La respuesta es que existen infinitos, siempre que sea verdadera la conjetura de Goldbach.

En efecto, cualquier número pequeño semiprimo puede generar una sucesión de otros semiprimos cada vez más grandes en los que la media de sus factores sea el semiprimo anterior. El proceso es muy sencillo:

1. Tomamos un semiprimo, por ejemplo 6. Le hallamos el doble, y al ser número par se podrá descomponer según Goldbach en suma de dos primos: 12=5+7
2. Multiplicamos los factores para conseguir un nuevo semiprimo: 5*7=35
3. Volvemos al paso 1 usando el nuevo resultado.

Podemos, aunque no es necesario, elegir los dos números primos más próximos entre sí (si existen varias soluciones). Así, del número 6 obtendríamos esta sucesión:

6=2*3;
35=5*7;
1189=29*41;
1410121=1129*1249;
1988441234317=1410103*1410139;
3953898542332114498331173=1988441233963*1988441234671

Y así sucesivamente. Como los números son enormes, hay que abandonar la hoja de cálculo. Con la calculadora Wiris se puede proseguir. En la imagen tienes reflejado el último paso.





Si la conjetura de Goldbach no es cierta, ocurrirá que el bucle Repetir…hasta pueda no tener fin en algún caso determinado. La intuición nos dice que eso no se dará.

Nota: Este procedimiento genera, a partir de n,  un semiprimo de fórmula n2-k2, siendo k primo con n (¿por qué ocurre así?), pero no vale cualquier valor de k. Así, para n=15 y k=4 nos genera el semiprimo 11*19=152-42=225-16=209, y también serían válidos k=2 y k=8 (todos primos con 15), pero no nos valdría el caso k=11, por ejemplo. Esta consideración nos proporciona una cota para la generación de un semiprimo nuevo, que sería n2

jueves, 7 de abril de 2011

Los múltiplos acunan

Toma el número 231. Ve encontrando sus múltiplos hasta que uno de ellos contenga 231 entre sus cifras, sin ser la primera ni la última. Tardarás un poco, porque esto no ocurre hasta 231*533=123123.

Elige otro, como el 2011. Necesitarás multiplicarlo por 5973 para obtener 12011703.

Llamaremos, con un poco de humor, “cuna” a ese múltiplo que acoge las cifras del número, pero rodeadas de otras que le den calor.

¿Cómo encontrar la cuna de cualquier número entero? Aquí entraríamos en la programación de macros para las hojas de cálculo. Lo intentamos.

Mediante potencias de 10

Todo número de cinco cifras (por ejemplo) abcde es igual a a*104+b*103+c*102+d*10+e. Si otro número más pequeño contiene algunas de esas cifras en el mismo orden, por ejemplo bcd, su expresión será b*102+c*10+d. Luego deberemos intentar localizar bcd en abcde mediante esas expresiones.

Necesitaremos las funciones numcifras y cifra

(ver http://hojaynumeros.blogspot.com/2010/11/aprender-comprobando.html)

Un posible código para ver si b es cuna de a sería:

Function escuna(b,a) as boolean Ver si las cifras de b acunan a las de a
Dim m,n,q
Dim e as boolean


m=numcifras(a)
n=numcifras(b)
e=false
for q=n-1 to m+1 step -1 Se procura no leer ni la primera cifra ni la última
c=0
for k=1 to m
c=c+cifra(b,q-k+1)*10^(m-k) Se construye un número con m cifras
next k
if a=c then e=true El número construido es a. Lo hemos encontrado
next q
escuna=e
End function

Mediante la traducción a texto

Si tanto a como b los traducimos a formato de texto (string) es más fácil localizar dentro de b. Aquí tienes el código:

Function escuna(b,a) as boolean Ver si las cifras de b acunan a las de a
dim s$,t$
dim m,n


s$=str$(b) Convierte b en un texto
n=len(s$)-1
s$=right(s$,n) Le suprime el primer carácter en blanco
t$=str$(a)
m=len(t$)-1
t$=right(t$,m) Hace lo mismo con a
r=instr(b$,a$) Averigua si las cifras de a están incluidas en las de b
if r>1 then escuna=true else escuna=false
end function

Una vez que tienes definida la función escuna te bastará con buscar resultados en tablas de hoja de cálculo o creando bucles en Basic. Aquí tienes algunos resultados:

Las primeras cunas son (para 1,2,3,….):


Número
Factor
Cuna
1
210
210
2
60
120
3
44
132
4
35
140
5
30
150
6
27
162
7
25
175
8
23
184
9
22
198
10
110
1100
11
192
2112
12
94
1128
13
87
1131
14
82
1148
15
77
1155


Observa que se necesitan factores grandes. No es tan simple reproducir las cifras en un múltiplo.

Entre los primeros 100 números el más tardío es el 27, que necesita ser multiplicado por 471 para que se reproduzcan las cifras 27: 27*471=12717.
Entre los primeros 500 es el número 271 el que necesita un factor mayor: 271*4691=1271261.

El menos exigente es el 91, que sólo con el factor 21 ya reproduce las cifras 91*21=1911.

¿Se podrán acunar todos los enteros? La intuición nos dice que es probable, ya que el factor se puede hacer tender a infinito y la probabilidad de que no aparezca la pauta deseada se haría cada vez más pequeña. Supongamos que buscamos la pauta 253. En un número de n cifras se podrían leer n-2 pautas consecutivas. La probabilidad de encontrar 253 en una pauta es de 0,001, luego la de no encontrarla será de 0,999, y la de no encontrarla en n-2 pautas de 0,999n-2 y esa expresión tiende a cero si n tiende a infinito.

Bueno, no hay que tomarse el párrafo anterior muy en serio. Sólo es una idea vaga y aproximada, pero que quizás apunte en buena dirección. Si alguien sabe algo más, que nos lo diga.