introduzione
La sequenza ECG inizia con 1 e 2, quindi la regola è che il termine successivo è il numero intero positivo più piccolo non già presente nella sequenza e il cui fattore comune con l'ultimo termine è maggiore di 1 (non sono coprimi).
I primi termini sono:
1, 2, 4, 6, 3, 9, 12, 8, 10, 5, 15, ...
Si chiama ECG perché il grafico dei termini è abbastanza simile a un ECG.
È la sequenza A064413 nell'OEIS .
Sfida
Devi scrivere una funzione che accetta un intero n come input e genera quanti dei primi n termini della sequenza sono maggiori di n .
Poiché la regola della sequenza inizia con il terzo termine, l'intero di input deve essere maggiore o uguale a 3. Ad esempio, dato l'input 10l'output è 1perché il settimo termine è 12e nessuno degli altri primi dieci termini supera 10.
Casi test
3 -> 1
10 -> 1
100 -> 9
1000 -> 70
Regole
- Per numeri inferiori a 3, la funzione può generare 0 o un codice di errore.
- Nessun'altra regola particolare tranne: è il codice golf, più corto è, meglio è!
1essendo il nono termine della sequenza e quindi rendendo, ad esempio,15il decimo termine, anziché5?