Storia:
Lucy chiese a George quale fosse il suo numero fortunato. Dopo qualche riflessione, George rispose che aveva diversi numeri fortunati. Dopo una breve confusione, Lucy chiese a George quali fossero i suoi primi n
numeri fortunati. George quindi chiese a te, suo amico, di scrivergli un programma per fare il lavoro per lui.
La sfida:
Scriverai un programma / funzione che riceverà dall'argomento input / funzione standard una stringa o un numero intero n
. Il programma / funzione restituirà quindi / emetterà i primi n
numeri fortunati . I numeri fortunati vengono definiti tramite un setaccio come segue.
Inizia con gli interi positivi:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, ...
Ora rimuovi ogni secondo numero:
1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, ...
Il secondo numero rimanente è 3 , quindi rimuovi ogni terzo numero:
1, 3, 7, 9, 13, 15, 19, 21, 25, ...
Ora il prossimo numero rimanente è 7 , quindi rimuovi ogni settimo numero:
1, 3, 7, 9, 13, 15, 21, 25, ...
Quindi, rimuovere ogni nono numero e così via. La sequenza risultante sono i numeri fortunati.
Vincente:
Come al solito per codegolf, vince il minor numero di byte.
Come al solito, le richieste che utilizzano scappatoie standard vengono squalificate.