Rozważmy nieskończoną macierz:
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 0 2 3 0 0 2 3 0 0 2 3 0 0 2 3
0 0 0 4 5 6 0 0 0 4 5 6 0 0 0 4 ...
0 0 0 0 7 8 9 10 0 0 0 0 7 8 9 10
0 0 0 0 0 11 12 13 14 15 0 0 0 0 0 11
...
Każdy nowy wiersz macierzy jest konstruowany od z
zera, gdzie z
jest liczbą cyfr dodatnich, których używamy w tym wierszu. Cyfry dodatnie są konstruowane przez rozpoczynanie 1
i zwiększanie oraz dodawanie dodatkowej cyfry za każdym razem, gdy iterujesz wiersze. Ten wzór powtarza się nieskończenie w prawo. Na przykład pierwszy rząd zaczyna się, 0, 1, 0, 1...
a zaczyna drugi rząd 0,0, 2,3, 0,0, 2,3...
. Zgodnie ze wzorem rozpoczyna się trzeci rząd 0,0,0, 4,5,6, 0,0,0, 4,5,6...
.
Biorąc pod uwagę dwie liczby całkowite jako dane wejściowe n
i x
wyprowadzamy pierwsze (najwyższe) x
liczby z n
th kolumny powyższej macierzy. (Możesz wybrać indeksowanie 0 lub 1 dla kolumn, po prostu określ, które z nich.)
Na przykład dla danych wejściowych n = 0
(indeksowanych 0) kolumna jest w całości 0
s, więc wynik byłby po prostu x
0
s.
Dla danych wejściowych n = 15
i x = 6
wyjściowych będzie to [1, 3, 4, 10, 11, 0]
.
Dla danych wejściowych n = 29
i x = 15
wyjściowych będzie to [1, 0, 6, 8, 15, 0, 0, 34, 39, 0, 0, 0, 0, 0, 120]
.
Dla danych wejściowych n = 99
i x = 25
wyjściowych będzie to [1, 3, 4, 0, 15, 0, 0, 0, 37, 55, 56, 0, 87, 93, 0, 0, 151, 163, 176, 0, 0, 0, 0, 0, 325]
.
I / O i reguły
- Dane wejściowe i wyjściowe można podać dowolną dogodną metodą .
- Można założyć, że dane wejściowe i wyjściowe pasują do rodzimego typu liczb w twoim języku.
- Dopuszczalny jest pełny program lub funkcja. Jeśli funkcja, możesz zwrócić dane wyjściowe zamiast je drukować.
- Standardowe luki są zabronione.
- To jest golf golfowy, więc obowiązują wszystkie zwykłe zasady gry w golfa, a wygrywa najkrótszy kod (w bajtach).
n=1
od wyniku sapply w żadnym dłużej matrycy. ta poprawka jest kosztowna Zastanawiam się, czy jest golfista?rep
,n
wewnątrzsapply
, co pozwoliło zaoszczędzić bajt, ale potem przypomniałem sobie, żefor
pętle są krótsze niż,sapply
ponieważ nie musiałbym definiować funkcji.Python 2 , 69 bajtów
Wypróbuj online!
źródło
APL (Dyalog Classic) ,
272423 bajtów-1 dzięki @FrownyFrog
Wypróbuj online!
źródło
MATL ,
2518 bajtówWypróbuj online!
Dzięki Luis Mendo za grę w golfa na 6 bajtów!
Jest to zasadniczo port MATL mojej odpowiedzi R.
źródło
K (ngn / k) ,
3331 bajtówWypróbuj online!
źródło
Łuska , 14 bajtów
Argument
n
(pierwszy) jest indeksowany 1, spróbuj online!Alternatywnie możemy użyć
↑!TṠzo¢+†K0CNN
dla tej samej liczby bajtów.Wyjaśnienie
źródło
Łuska ,
2119 bajtówW takim przypadku przyjmuje argumenty jako
n
(indeksowane 1)x
.Zaoszczędzono 2 bajty dzięki BMO, ale wciąż nie jest tak krótki jak odpowiedź BMO.
Moja pierwsza próba użycia Łuski.
Wypróbuj online!
źródło
Haskell , 75 bajtów
Wypróbuj online!
źródło
Python 2 , 55 bajtów
Wypróbuj online!
Opracowany niezależnie; ale zauważam, że ostatecznie jest to port odpowiedzi Javascript Arnaulda .
źródło
Perl 5
-n
, 52 bajtówWypróbuj online!
źródło
Galaretka , 11 bajtów
Wypróbuj online!
-1 dzięki Jonathanowi Allanowi .
Argument 1: x
Argument 2: n + 1
źródło
0ṁ;Ɗ
->¬;$
zapisuje bajt.’R
... (to znaczy przynajmniej dla mnie) Dziwną rzeczą jest to, że w ciągu ostatnich kilku dni myślałem o sekwencji Thue-Morse (która w Galaretce zawiera;¬$
).05AB1E , 25 bajtów
Wypróbuj online!
05AB1E współpracuje z matrycami takimi jak pasta do zębów i sok pomarańczowy, ale nie jest to zły licznik bajtów, biorąc pod uwagę, jak złe jest moje wdrożenie. Nawet mój kod śmieje się ze mnie „
LO©L
”.źródło
Węgiel drzewny , 19 bajtów
Wypróbuj online! Link jest do pełnej wersji kodu. Wyjaśnienie:
Snippet
EιL⊞Oυω
generuje kolejnei
liczby całkowite przez celowe wypychanie wartości fikcyjnej do tablicy, każda przechodzi przez pętlę i przyjmuje długość wynikowej tablicy.źródło
Java 8,
656360 bajtówn
jest indeksowany 0,x
jest indeksowany 1, generuje liczby rozdzielane i odwracane w nowym wierszu.Port odpowiedzi @ Arnauld na JavaScript (ES6) .
Wypróbuj online.
Dość wydrukowany wynik w prawidłowej kolejności jest
86 bajtów dłuższy: Wypróbuj online.źródło
Haskell, 67 bajtów
Wypróbuj online!
źródło