Fabuła:
Lucy zapytała George'a, jaki jest jego szczęśliwy numer. Po krótkiej kontemplacji George odpowiedział, że ma kilka szczęśliwych liczb. Po krótkim zamieszaniu Lucy zapytała George'a, jakie są jego pierwsze n
Szczęśliwe Liczby. George poprosił cię, jego kumpel, o napisanie mu programu do wykonania pracy za niego.
Wyzwanie:
Napisz program / funkcję, która otrzyma od standardowego argumentu wejścia / funkcji ciąg lub liczbę całkowitą n
. Program / funkcja zwróci / wyśle pierwsze n
szczęśliwe liczby . Szczęśliwe liczby są definiowane przez sito w następujący sposób.
Zacznij od dodatnich liczb całkowitych:
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, ...
Teraz usuwaj co drugi numer:
1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, ...
Drugi pozostały numer to 3 , więc usuwaj co trzeci numer:
1, 3, 7, 9, 13, 15, 19, 21, 25, ...
Kolejny pozostały numer to 7 , więc usuwaj co siódmy numer:
1, 3, 7, 9, 13, 15, 21, 25, ...
Następnie usuń co dziewiąty numer i tak dalej. Wynikowa sekwencja to szczęśliwe liczby.
Zwycięski:
Jak zwykle dla codegolf, wygrywa najmniej bajtów.
Jak zwykle zgłoszenia korzystające ze standardowych luk są dyskwalifikowane.