Números de UlamUn Número de Ulam es un miembro de una secuencia entera, la cual fue concebida por el matemático polaco Stanislaw Ulam y publicada en SIAM Review en 1964. La secuencia estándar de Ulam comienza con U1=1 y U2=2, siendo los primeros dos números de Ulam. Entonces, para n > 2, Un queda definido como el entero más pequeño que es la suma de dos miembros anteriores diferentes entre sí en exactamente una forma. ![]() Ulam conjeturaba que esta secuencia tiene densidad 0. Sin embargo, cálculos hasta 4*107 (Jud McCranie) indican que la densidad alcanza cerca de 0.074. EjemplosSegún la definición, 3=1+2 es un número de Ulam; y 4=1+3 es un número de Ulam (La suma 4=2+2 no cuenta porque los términos previos deben ser distintos). El entero 5 no es un número de Ulam porque 5=1+4=2+3. Los primeros términos de la secuencia son: 1, 2, 3, 4, 6, 8, 11, 13, 16, 18, 26, 28, 36, 38, 47, 48, 53, 57, 62, 69, 72, 77, 82, 87, 97, 99. Los primeros números de Ulam que son números primos son:2, 3, 11, 13, 47, 53, 97, 131, 197, 241, 409, 431, 607, 673, 739, 751, 983, 986, 991, 1103, 1433, 1489. GeneralizaciónLa idea puede ser generaliza seleccionando diferentes valores de inicio y exigiendo que los términos sean una suma de valores previos en una cantidad dada de formas. Código de ejemploAquí hay un código de ejemplo (no-optimizado) Python que genera todos los números de Ulam menores que 1000. ulam_i = [1,2,3]
ulam_j = [1,2,3]
for cand in range(4,1000):
res = []
for i in ulam_i:
for j in ulam_j:
if i == j or j > i: pass
else:
res.append(i+j)
if res.count(cand) == 1:
ulam_i.append(cand)
ulam_j.append(cand)
print ulam_i
Referencias
Enlaces externos
|
Portal di Ensiklopedia Dunia