Questa sequenza raggiunge l'infinito?
Permettere $n=d_m...d_2d_1$ dove $d_i$ è la cifra di $n$ .
Definisci la funzione$F(n)$, Se sono presenti cifre di $n$ ripetuti consecutivamente, convertono quelle cifre in quella cifra e generano un nuovo numero.
Esempio :$F(10225)=1025$ perché 2 si ripete
$F(10000)=10$, $F(223335300)=23530$, $F(23)=23$.
Definisci la relazione di ricorrenza $a_k= F(2\cdot a_{k-1})$ per $k\ge 1$ e $a_0=1$
$\{a_0,a_1,a_2,...\}=\{1 , 2 , 4 , 8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,6536,13072,2614,528,1056,212,424,848,1696,392,784,1568,3136,6272,1254,2508,5016,1032,2064,4128,8256,16512,3024,6048,12096,24192,48384,96768,19356,387072,...\}$
Problema : la sequenza precedente terminerà con un ciclo o si avvicina all'infinito?
Generalizzazione di questo problema postata da Vepir: possiamo raggiungere l'infinito se rimuoviamo le cifre ripetute da$a_k=m\cdot a_{k-1}$?
Non ho finito di programmare. È molto probabile che otterrai un loop. Grazie
Risposte
No, questo si blocca abbastanza rapidamente in un ciclo. Il termine$a_{68} = 16 = a_4$.
Ecco un rapido script python3 che, dato un valore iniziale $a_0$, viene eseguito finché non trova un ciclo nella sequenza. Provalo qui.
def remove_repetitions(num):
new_string = ''
for index, character in enumerate(str(num)):
if index == 0:
new_string += character
else:
if character != str(num)[index-1]:
new_string += character
return int(new_string)
def fn(num):
return remove_repetitions(2*num)
ind = 0
num = 1
print(ind, num)
unique_numbers = [num]
while True:
ind += 1
num = fn(num)
print(ind, num)
if num in unique_numbers:
print('Found loop')
break
else:
unique_numbers.append(num)
Ecco un elenco dei primi 70 elementi della sequenza nel modulo $(n, a_n)$
[(0, 1), (1, 2), (2, 4), (3, 8), (4, 16), (5, 32), (6, 64), (7, 128), (8, 256), (9, 512), (10, 1024), (11, 2048), (12, 4096), (13, 8192), (14, 16384), (15, 32768), (16, 6536), (17, 13072), (18, 2614), (19, 528), (20, 1056), (21, 212), (22, 424), (23, 848), (24, 1696), (25, 392), (26, 784), (27, 1568), (28, 3136), (29, 6272), (30, 1254), (31, 2508), (32, 5016), (33, 1032), (34, 2064), (35, 4128), (36, 8256), (37, 16512), (38, 3024), (39, 6048), (40, 12096), (41, 24192), (42, 48384), (43, 96768), (44, 193536), (45, 387072), (46, 7414), (47, 14828), (48, 29656), (49, 59312), (50, 18624), (51, 37248), (52, 7496), (53, 1492), (54, 2984), (55, 5968), (56, 1936), (57, 3872), (58, 74), (59, 148), (60, 296), (61, 592), (62, 184), (63, 368), (64, 736), (65, 1472), (66, 294), (67, 58), (68, 16), (69, 32), (70, 64)]