Bawiłem się kilkoma liczbami i znalazłem sekwencję, która oczywiście znajduje się w OEIS. Jest to A005823 : Liczby, których rozszerzenie potrójne nie zawiera 1 . To idzie:
a (2n) = 3 * a (n) +2
a (2n + 1) = 3 * a (n + 1)
a (1) = 0
a = 0,2,6,8,18,20,24,26,54 ....
Napisałem program CJam, który generuje pierwszą n tych liczb, konwertując indeks na binarny, zamieniając jedynki na 2 i konwertując z trójskładnikowej na dziesiętną.
Zauważyłem również, że dowolną liczbę parzystą można uzyskać, biorąc sumę dwóch liczb w sekwencji (czasami liczbę samą w sobie).
Wyzwanie:
Biorąc pod uwagę dowolną nieujemną liczbę parzystą jako dane wejściowe, wypisz wskaźniki dwóch liczb w sekwencji, które ją sumują. (Należy pamiętać, że czasami możliwe jest użycie wielu par.)
Zasady:
- Określ, czy korzystasz z indeksowania 0 czy 1.
- Jeśli wyprowadzasz wynik jako ciąg, umieść separator między dwoma indeksami.
- Możesz wyprowadzać dane jako liczbę zespoloną.
- Jeśli chcesz, możesz wypisać każdą prawidłową parę.
- Code Golf: wygrywa najkrótsza odpowiedź
Przypadki testowe
Używam indeksowania 0. Tutaj wymienię wszystkie możliwe dane wyjściowe dla każdego wejścia, ale wystarczy tylko jedno.
0: [0 0] 2: [1 0] 4: [1 1] 6: [2 0] 8: [2 1] [3 0] 10: [3 1] 12: [2 2] 14: [3 2] 16: [3 3] 18: [4 0] 30: [6 2] 32: [6 3] [7 2] 46: [7 5] 50: [7 6] 120: [10 10] 338: [19 18] 428: [30 23] [31 22] 712: [33 27] [35 25] [41 19] [43 17] [49 11] [51 9] [57 3] [59 1] 1016: [38 37] [39 36]Dzięki @Luis Mendo za pomoc dotyczącą przypadków testowych.
Powiązane: Czy jest w zestawie Cantor?