Sekwencja liczb segmentowanych lub liczb pierwszych pomiarów ( OEIS A002048 ) jest sekwencją liczb, dzięki czemu każdy element jest najmniejszą liczbą dodatnią (większą niż zero), której nie można utworzyć z sumy wcześniejszych kolejnych liczb a(0) = 1.
Przykład
Aby obliczyć a(7), najpierw obliczyć a(0->6) = [1, 2, 4, 5, 8, 10, 14]. następnie zaczynamy od zera i przechodzimy przez liczby, aż znajdziemy taką, która nie jest sumą jednej lub więcej kolejnych liczb w sekwencji.
1 = 1
2 = 2
3 = 1 + 2
4 = 4
5 = 5
6 = 2 + 4
7 = 1 + 2 + 4
8 = 8
9 = 4 + 5
10 = 10
11 = 2 + 4 + 5
12 = 1 + 2 + 4 + 5
13 = 5 + 8
14 = 14
15 = ????
Ponieważ piętnaście nie może być sumowane przez kolejne kolejne podsekwencje, a każda mniejsza liczba może wynosić piętnaście, to kolejna liczba w sekwencji. a(7) = 15
Zadanie
Twoim zadaniem jest pobranie liczby (standardowymi metodami) i wysłanie n-tego terminu w tej sekwencji (standardowymi metodami wyjściowymi). To jest golf golfowy i jako taki zostaniesz oceniony.
Przypadki testowe
0 -> 1
1 -> 2
2 -> 4
3 -> 5
4 -> 8
5 -> 10
6 -> 14
7 -> 15
8 -> 16
9 -> 21
()aby była to właściwa funkcja. Częściowo zastosowana!!jest sekcja operatora i musi być zamknięta,()aby działała. Bez tego jest tylko fragmentem, który staje się funkcją (lub „wartością” w celu użycia ścisłych terminów Haskell) z brakującym argumentem.