Wejście:
Dwie liczby całkowite: jedna ujemna, jedna dodatnia.
Wynik:
W pierwszym wierszu wyjście od najniższego do najwyższego. W drugim wierszu usunęliśmy najwyższe i najniższe liczby i zmieniliśmy wszystkie indywidualne liczby. W trzecim wierszu ponownie usunęliśmy najwyższe i najniższe liczby i ponownie zmieniliśmy wszystkie indywidualne liczby. itp. (Poniższy przykład powinien wyjaśnić wyzwanie.)
Ważne: Ponadto dodajemy spacje, aby wszystkie liczby w kolumnie były wyrównane (po prawej).
Minimalne wyrównanie jest główną częścią tego wyzwania, co oznacza, że nie można po prostu ustawić każdej liczby tej samej szerokości. Szerokość kolumny jest oparta na największej szerokości liczbowej w tej konkretnej kolumnie (a sekwencja ze zmianą znaku ma dać liczbom pewną różnorodność szerokości na kolumnę).
Na przykład:
Input: -3,6
Output:
-3,-2,-1, 0, 1, 2, 3, 4,5,6 // sequence from lowest to highest
2, 1, 0,-1,-2,-3,-4,-5 // -3 and 6 removed; then all signs changed
-1, 0, 1, 2, 3, 4 // 2 and -5 removed; then all signs changed again
0,-1,-2,-3 // -1 and 4 removed; then all signs changed again
1, 2 // 0 and -3 removed; then all signs changed again
// only two numbers left, so we're done
Jak widać powyżej, spacje są dodawane do liczb dodatnich, gdy dzielą kolumnę z liczbami ujemnymi, aby to zrekompensować -
(to samo dotyczy liczb 2-cyfrowych).
Zasady konkursu:
- Dane wejściowe muszą być dwiema liczbami całkowitymi
- Możesz założyć, że te liczby całkowite są w zakresie
-99
-99
(włącznie). - Pierwsza liczba całkowita będzie ujemna, a druga będzie dodatnia.
- Możesz założyć, że te liczby całkowite są w zakresie
- Dane wyjściowe mogą być w dowolnym rozsądnym formacie, o ile jest jasne, że są wiersze i odpowiednio wyrównane kolumny: Tj. STDOUT; powrót jako ciąg znaków z nowymi liniami; powrót jako lista ciągów; itp. Twoje połączenie.
- Wyjście musi również zawierać ogranicznik własnego wyboru (z wyjątkiem spacji, tabulacji, nowych linii, cyfr lub
-
): Ie,
; i;
i|
; iX
; itd. są akceptowalnymi ogranicznikami. - Linie wyjściowe nie mogą zawierać ogranicznika wiodącego ani końcowego.
- Dane wyjściowe mogą zawierać JEDNĄ końcową linię nowego wiersza, a dowolny wiersz może zawierać dowolną liczbę końcowych spacji.
Główne zasady:
- To jest golf golfowy , więc wygrywa najkrótsza odpowiedź w bajtach.
Nie pozwól, aby języki gry w golfa zniechęcały Cię do publikowania odpowiedzi w językach niekodujących golfa. Spróbuj znaleźć możliwie najkrótszą odpowiedź na „dowolny” język programowania. - Do odpowiedzi mają zastosowanie standardowe reguły , więc możesz używać STDIN / STDOUT, funkcji / metody z odpowiednimi parametrami, pełnych programów. Twoja decyzja.
- Domyślne luki są zabronione.
- Jeśli to możliwe, dodaj link z testem swojego kodu.
- W razie potrzeby dodaj również wyjaśnienie.
Przypadki testowe:
Input: -3,6
Output:
-3,-2,-1, 0, 1, 2, 3, 4,5,6
2, 1, 0,-1,-2,-3,-4,-5
-1, 0, 1, 2, 3, 4
0,-1,-2,-3
1, 2
Input: -1,1
Output:
-1,0,1
0
Input: -2,8
Output:
-2,-1, 0, 1, 2, 3, 4, 5, 6,7,8
1, 0,-1,-2,-3,-4,-5,-6,-7
0, 1, 2, 3, 4, 5, 6
-1,-2,-3,-4,-5
2, 3, 4
-3
Input: -15,8
Output:
-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6,7,8
14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5,-6,-7
-13,-12,-11,-10, -9, -8,-7,-6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6
12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5
-11,-10, -9, -8, -7, -6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4
10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,-1,-2,-3
-9, -8, -7, -6, -5, -4,-3,-2,-1, 0, 1, 2
8, 7, 6, 5, 4, 3, 2, 1, 0,-1
-7, -6, -5, -4, -3, -2,-1, 0
6, 5, 4, 3, 2, 1
-5, -4, -3, -2
4, 3
Input: -3,15
Output:
-3,-2,-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14,15
2, 1, 0,-1,-2,-3,-4,-5, -6,-7, -8, -9,-10,-11,-12,-13,-14
-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
0,-1,-2,-3,-4,-5,-6,-7, -8,-9,-10,-11,-12
1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11
-2,-3,-4,-5,-6,-7,-8,-9,-10
3, 4, 5, 6, 7, 8, 9
-4,-5,-6,-7,-8
5, 6, 7
-6
Input: -12,12
Output:
-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11,12
11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11
-10, -9, -8,-7,-6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10
9, 8, 7, 6, 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5,-6,-7,-8,-9
-8, -7, -6,-5,-4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6, 7, 8
7, 6, 5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5,-6,-7
-6, -5, -4,-3,-2,-1, 0, 1, 2, 3, 4, 5, 6
5, 4, 3, 2, 1, 0,-1,-2,-3,-4,-5
-4, -3, -2,-1, 0, 1, 2, 3, 4
3, 2, 1, 0,-1,-2,-3
-2, -1, 0, 1, 2
1, 0, -1
0
-99
a największy możliwy dodatni jest99
.Odpowiedzi:
Galaretka ,
252420 bajtówTo diademiczne łącze, które zwraca tablicę wierszy.
Wypróbuj online!
Jak to działa
źródło
05AB1E , 59 bajtów
Po raz kolejny wpadłem w błąd z tym samym błędem, który napisałem poprawkę kilka miesięcy temu, ale nigdy nie naciskałem ...
Gra w golfa powinna być nadal możliwa.
Wypróbuj online!
źródło
ŸÐ',ý,gÍ;µ¦¨(D',ý,¼
nie do końca pasuje do specyfikacji formatowania, sprawdź, czy możesz to poprawić;)Ÿ[Ðg1‹#',ý,¦(¨
wystarczyłoby inaczej :)Java 8,
483480486† 467 bajtów† Pobrano bajty z powodu naprawy błędów ..
Ok, zajęło to DUŻO więcej czasu (i bajtów) niż myślałem (w Javie to znaczy ...). Można to z pewnością jeszcze bardziej pograć w golfa, prawdopodobnie stosując zupełnie inne podejście zamiast tworzenia siatki NxN w celu wypełnienia, a następnie „usunięcia” zer (z irytującym przypadkiem krawędzi dla przypadku testowego
-1,1
, jak również-12,12
) .Wypróbuj online.
Wyjaśnienie:
źródło
JavaScript (ES6), 269 bajtów
Wyjaśniono:
źródło
QBIC , 46 bajtów
Jak to działa:
Na szczęście podczas drukowania liczby QBasic automatycznie dodaje niezbędne dopełnienie.
źródło
q
domyślna wartość zaczyna się od 1? Czy wszystkie wartości w QBIC zaczynają się od 1, czy też czegoś mi brakuje? A czym jestd
/ gdzie jestd
skrót? Czyd
też bieżąca liczba w pętli i po?
prostu niezbędna jest ograniczona w kodzie pętli for (zamiast?
być bieżącą liczbą, czyli jak ją początkowo czytałem)?q
zaczyna się od 1. Wszystkie małe litery są zmiennymi liczbowymi i literyq-z
są inicjowane1-10
. Kilka poleceń automatycznie przypisuje numery w kolejności, w jakiej znajdują się w kodzie.d
jest rzeczywiście iteratorem wewnętrznej pętli FOR. Aby uzyskać więcej informacji, zobacz także wizytówkę - lub tęPerl 6 , 146 bajtów
Spróbuj
Tworzy sekwencję ciągów
Rozszerzony:
źródło
PHP 7.1, 277 bajtów
Tłumacz online
źródło
Aplikacja konsoli C # 196 bajtów
źródło
JavaScript -
196185176 bajtówNie jestem do końca przyzwyczajony do niektórych nowszych technik JS, więc prawdopodobnie można by grać w golfa o wiele więcej.
Po prostu tworzy dobrą staromodną tabelę HTML bez zdefiniowanej szerokości dla komórek, dzięki czemu pierwszy wiersz domyślnie ma szerokość każdego wpisu i ma optymalne odstępy. Wykorzystuje również (ab) „funkcję” HTML polegającą na tym, że nie wymaga zamykania tagów, jeśli nowy tag otwierający pojawi się jako pierwszy.
źródło
Python 2 - 208 bajtów
Wypróbuj online
Tworzy tablicę wartości dopełniania, a następnie używa jej do konstruowania potrzebnych sformatowanych ciągów
Wyjaśnienie:
źródło
,
i;
i|
są dopuszczalne ograniczniki. ” Obecnie używać spacji jako separatora. Ale główna trudność szerokości została rzeczywiście rozwiązana, więc jak dotąd radzisz sobie świetnie! Tylko ta niewielka zmiana, a potem należy to zrobić. :)%l[i], range
wymagane?)