Trójkąt Pascala jest generowany przez rozpoczęcie 1
i utworzenie każdego rzędu z kolejnych dodań. Zamiast tego utworzymy trójkąt, naprzemiennie mnożąc i dodając.
Zaczynamy wiosłę 1
od samotności 1
. Następnie dodawane są wiersze nieparzyste, a mnożenie odbywa się w wierszach parzystych (indeksowane 1). Podczas wykonywania kroku dodawania załóż, że spacje poza trójkątem są wypełnione 0
s. Wykonując krok mnożenia, załóż, że na zewnątrz jest wypełniony 1
s.
Oto pełny trójkąt do 7 rzędów. Symbol *
lub +
po lewej stronie pokazuje, jaki krok został wykonany, aby wygenerować ten wiersz.
1 1
2 * 1 1
3 + 1 2 1
4 * 1 2 2 1
5 + 1 3 4 3 1
6 * 1 3 12 12 3 1
7 + 1 4 15 24 15 4 1
Wyzwanie
Biorąc pod uwagę dane wejściowe n
, wyślij n
th rząd tego trójkąta.
Zasady
- Zamiast tego możesz wybrać indeksowanie 0, ale pamiętaj, że wiersze dodawania i mnożenia muszą przerzucać, aby wygenerować dokładnie taki sam trójkąt jak powyżej. Jeśli zdecydujesz się to zrobić, podaj w swoim zgłoszeniu.
- Można założyć, że dane wejściowe i wyjściowe pasują do natywnego typu liczb całkowitych twojego języka.
- Dane wejściowe i wyjściowe można podawać w dowolnym dogodnym formacie .
- Dopuszczalny jest pełny program lub funkcja. Jeśli funkcja, możesz zwrócić dane wyjściowe zamiast je drukować.
- Jeśli to możliwe, dołącz link do internetowego środowiska testowego, aby inni mogli wypróbować Twój kod!
- 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).
Przykłady
Pokazuje dwa możliwe przykłady wyników spośród wielu: listę lub ciąg znaków oddzielony spacjami.
4
[1, 2, 2, 1]
8
"1 4 60 360 360 60 4 1"
n
rząd.