A sequência ECG

Na sequência ECG (que sempre começa com os números 1 e 2), cada número seguinte é o menor número que ainda não está presente na sequência e que compartilha um fator (excluindo 1) com o número anterior. Cada número da sequência ECG (exceto 1 e 2) tem um índice diferente de seu índice natural em uma sequência numérica normal. Veja o exemplo abaixo para estabelecer o índice ECG do número 3.

# Find the smallest number that is not in sequence...
# This number shares a factor with the preceding?

SEQUENCE = [1, 2]

3 = no factors shared with 2
4 = shares factor 2 with number 2

SEQUENCE = [1, 2, 4]

3 = no factors shared with 4
5 = no factors shared with 4
6 = shares factor 2 with number 4

SEQUENCE = [1, 2, 4, 6]

3 = shares factor 3 with number 6

SEQUENCE = [1, 2, 4, 6, 3]

Number 3 is at index 4 in the ECG Sequence.

Dado um inteiro n, implemente uma função que retorne seu índice na sequência ECG.

Exemplos

ecg_seq_index(3) ➞ 4

ecg_seq_index(5) ➞ 9

ecg_seq_index(7) ➞ 13

Notas

  • ECG é o acrônimo de eletrocardiograma: se você tentar representar graficamente a tendência da sequência, um esquema semelhante aparecerá.
  • Curiosidade: todo primo ímpar p na sequência é precedido por 2p e seguido por 3p.