Programowanie puzzli i Code Golf

Pytania i odpowiedzi dotyczące programowania entuzjastów puzzli i graczy kodowych

4
Pakowanie kawałków drewna
Istnieją dwa kawałki drewna. Oba składają się z prostego korpusu i kilku dodatkowych bloków poniżej korpusu. Przykładowy kawałek z dodatkowymi blokami w pozycjach (0-indeksowanych) 0,4,7,9,10: XXXXXXXXXXX X X X XX Kawałek może być reprezentowany jako 01sekwencja binarna ze iznakiem th pokazującym, czy w ipozycji th znajduje się blok . Górny …

5
Określ wymiary obróconego prostokąta
Ten fragment kodu rysuje aliasowany biały prostokąt na czarnym tle, podając parametry dotyczące jego wymiarów, położenia, kąta i wymiarów siatki: <style>html *{font-family:Consolas,monospace}input{width:24pt;text-align:right;padding:1px}canvas{border:1px solid gray}</style><p>grid w:<input id='gw' type='text' value='60'> grid h:<input id='gh' type='text' value='34'> w:<input id='w' type='text' value='40'> h:<input id='h' type='text' value='24'> x:<input id='x' type='text' value='0'> y:<input id='y' type='text' value='0'> θ:<input …

1
Łączenie luk z kawałkami Tetris
Powinieneś napisać program lub funkcję, która podaje listę bloków tetris jako dane wyjściowe lub zwraca największą lukę między dwoma punktami na tym samym poziomie wysokości, którą mogą połączyć elementy. 7 rodzajów elementów tetris to: Do tych elementów będziemy odnosić się odpowiednio literami I, J, L, O, S, T i Z, …
14 code-golf  tetris 

1
Problem dwunastu monet
tło Problem dwunastu monet to klasyczna łamigłówka równowagi powszechnie stosowana podczas rozmów kwalifikacyjnych. Układanka pojawiła się po raz pierwszy w 1945 roku i została postawiona ojcu przez mojego dziadka, gdy poprosił o rękę mojej matki! W łamigłówce znajduje się dwanaście monet, z których jedna jest cięższa lub lżejsza od pozostałych …

4
Wskazówki do gry w golfa w LOLCODE
Jakie masz ogólne wskazówki na temat gry w golfa w LOLCODE? Szukam pomysłów, które można by zastosować do ogólnych problemów z golfem, które są przynajmniej nieco specyficzne dla LOLCODE. (np. „usuń komentarze” nie jest odpowiedzią). Proszę zamieścić jedną wskazówkę na odpowiedź.
14 code-golf  tips 

12
Podziel jako liczbę, połącz jako ciąg, powtórz
Rozważ proces: Biorąc nieujemną liczbę całkowitą N. np27 . Podzielenie go na liczby całkowite N - floor(N/2)i floor(N/2)(„większą” i „mniejszą” połowę) i zapisanie ich w tej kolejności. np. 27staje się14 13 . . Usunięcie spacji, aby połączyć liczby całkowite w nową, znacznie większą liczbę całkowitą. np. 14 13staje się1413 . …

13
Największe i najmniejsze wartości ze skonkatowanych liczb całkowitych
Ten problem pochodzi z Pięciu problemów programistycznych, które każdy inżynier oprogramowania powinien być w stanie rozwiązać w czasie krótszym niż 1 godzina, co samo w sobie jest interesującą lekturą. Pierwsze kilka problemów jest banalnych, ale czwarty może być nieco bardziej interesujący. Biorąc pod uwagę listę liczb całkowitych oddzielonych pojedynczą spacją …
14 code-golf  number 

6
Błędy zaokrąglania poza kontrolą
tło Zostałeś niedawno zatrudniony przez małą firmę księgową. Świat rachunkowości jest dla Ciebie nieco obcy, więc nie masz pewności, czy przestrzegasz wszystkich profesjonalnych wskazówek. W szczególności nie wiesz, kiedy powinieneś zaokrąglić wszystkie te liczby i w jakim kierunku, więc przez większość czasu po prostu je przeskakujesz i masz nadzieję na …

8
Wskazówki dotyczące gry w golfa w białych znakach
Jakie masz ogólne wskazówki na temat gry w golfa w Whitespace? Szukam pomysłów, które można by zastosować do problemów związanych z golfem i które są przynajmniej w pewnym stopniu specyficzne dla białych znaków (np. „Usuń komentarze” nie jest odpowiedzią). Proszę zamieścić jedną wskazówkę na odpowiedź.


1
Znajdowanie symetrii w kwadratach
Napisz program lub funkcję, która przyjmuje listę dodatnich liczb całkowitych. Każda z tych liczb całkowitych reprezentuje długość boku kwadratu na płaszczyźnie 2D. Każdy kwadrat można przesunąć do dowolnej liczby całkowitej na płaszczyźnie, ale nie może się on obracać i nie może zachodzić na inne kwadraty. Używając innego drukowalnego znaku ASCII …

4
Narysuj losowy spacer z ukośnikami
Napisz program lub funkcję, która przyjmuje dodatnią liczbę całkowitą N (za pomocą stdin / wiersza poleceń / funkcji arg) i wypisuje lub zwraca ciąg reprezentujący dwuwymiarowe losowe przejście o długości N kroków, narysowane ukośnikami: / \(plus spacje i nowe linie dla odstępów). Spacer losowy 2D rozpoczyna się u źródła nieskończonej …

3
Odzyskaj listę
Wprowadzenie Większość z was zna algorytm sortowania scalającego do sortowania listy liczb. W ramach algorytmu zapisuje się funkcję pomocniczą, mergektóra łączy dwie posortowane listy w jedną posortowaną listę. W pseudokodzie podobnym do Pythona funkcja zwykle wygląda mniej więcej tak: function merge(A, B): C = [] while A is not empty …

4
Programowanie spiralne
Napisz nazwaną funkcję lub program, który akceptuje pojedynczą liczbę całkowitą N i wypisuje (do STDOUT) lub zwraca (jako ciąg) pierwsze N ​​słupków spirali poniżej, zaczynając od pionowego paska w środku i spiralnie zgodnie z ruchem wskazówek zegara na zewnątrz. _______________ / _____________ \ / / ___________ \ \ / / …

4
Znajdź maksimum ax + b
Otrzymujesz listę ( a, b ) i listę x . Oblicz maksymalne ax + b dla każdego x . Możesz założyć , że a , b i x są liczbami całkowitymi nieujemnymi. Twój program lub funkcja musi działać w oczekiwanym (losowym przypadku, jeśli Twój kod tego wymaga, a nie na …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.