
def gerar_sequencia(intervalo):
# Gera uma sequência de números com base no padrão definido
return [1 - 6 * i for i in range(intervalo, 0, -1)] + [1] + [1 + 6 * i for i in range(1, intervalo + 1)]
def calcular_indices_para_riscar(sequencia):
# Calcula quais índices da sequência devem ser riscados
indices_para_riscar = set()
for i, num in enumerate(sequencia):
if num not in [-3, -2, -1, 1, 2, 3]:
passo = abs(num)
for j in range(1, len(sequencia) // passo + 1):
indice_esquerda = i - j * passo
indice_direita = i + j * passo
if indice_esquerda >= 0:
indices_para_riscar.add(indice_esquerda)
if indice_direita < len(sequencia):
indices_para_riscar.add(indice_direita)
return indices_para_riscar
def ajustar_e_riscar_como_regex(sequencia, indices_para_riscar):
# Ajusta a sequência riscando os números identificados
sequencia_str = ','.join(['X' if i in indices_para_riscar else str(num) for i, num in
enumerate(sequencia)])
return sequencia_str.split(',')
# Exemplo de uso com modificação para imprimir apenas os primeiros e últimos 10
elementos
intervalo = 1000000
sequencia = gerar_sequencia(intervalo)
indices_riscar_1 = calcular_indices_para_riscar(sequencia)
sequencia_riscada_como_regex = ajustar_e_riscar_como_regex(sequencia,
indices_riscar_1)
# Imprimindo os 10 primeiros e os 10 últimos elementos
print("Primeiros 10 elementos:", sequencia_riscada_como_regex[:100])
print("Últimos 10 elementos:", sequencia_riscada_como_regex[-100:])
output
Primeiros 10 elementos: ['X', '-5999993', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '-5999933',
'-5999927', '-5999921', 'X', '-5999909', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X',
'-5999831', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '-5999729', 'X',
'-5999717', 'X', 'X', '-5999699', 'X', 'X', '-5999681', 'X', 'X', '-5999663', 'X', 'X', 'X', '-5999639',
'-5999633', '-5999627', 'X', 'X', 'X', '-5999603', 'X', 'X', 'X', 'X', 'X', 'X', '-5999561', 'X', 'X', 'X',
'-5999537', 'X', 'X', '-5999519', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '-5999471', 'X', 'X', 'X', 'X', 'X', 'X', 'X',
'-5999423', '-5999417', 'X', 'X']
Últimos 10 elementos: ['X', 'X', 'X', 'X', 'X', 'X', 'X', '5999449', 'X', 'X', 'X', 'X', '5999479', 'X', 'X',
'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', '5999551', 'X', '5999563', '5999569', 'X', 'X', 'X', '5999593',