Programowanie puzzli i Code Golf

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

13
Policz znaki, zamień je w szyfr
Problem: Musisz stworzyć program, który wykonuje następujące czynności: pobiera duży ciąg małych liter i zlicza wszystkie wystąpienia każdej litery. następnie układasz litery w kolejności od największego do najmniejszego wystąpienia. następnie bierzesz tę listę i przekształca ją w koder / dekoder tekstu. następnie koduje tekst za pomocą tego szyfru. Ciężko zrozumieć? …
9 code-golf 

8
Missy Elliot, XKCD i ASCII Bytes
Inspirowany następującym komiksem XKCD: W „Work It” Missy Elliot część refrenu brzmi następująco: Is it worth it, let me work it I put my thing down, flip it and reverse it Mając to na uwadze, proponuję następujące wyzwanie golfowe: Utwórz kod, który działa, w celu: Pobiera 8-bitowe wejście ASCII ze …

2
Sprawdź, czy 15 łamigłówek można rozwiązać
Piętnaście puzzle odznacza się tym, że tylko połowa możliwych stanów układu są rozwiązywalne. Jeśli przerzucisz płytki 14 i 15, nie ma możliwości przesunięcia bloków, aby zostały one odwrócone. Twoim zadaniem jest zbudowanie programu, który akceptuje listę liczb całkowitych w wybranym przez Ciebie formacie (zawierającym dokładnie jedno wystąpienie każdej liczby od …

5
formatowanie ciągów w stylu printf
Wyzwanie Napisz funkcję, która implementuje printfformatowanie ciągów w stylu C. Zasady Państwo musi wdrożyć przynajmniej %%, %c, %s, %di %f. Nie wolno używać wbudowanej metody formatowania ciągów. Nie wolno uruchamiać programów zewnętrznych ani łączyć się z Internetem z poziomu programu. Ty decydujesz, jak obsłużyć nieprawidłowe dane, ale Twój program nie …

3
Analiza składni literału Pythona
Wyzwanie polega na przeanalizowaniu łańcucha, podobnie jak Python, i wydrukowaniu jego zawartości. Dane wejściowe (argument wiersza polecenia lub standardowe wejście) : literał ciągu (np. "hello") (Lub wiele literałów, patrz konkatenacja literału ciągu poniżej) Dane wyjściowe (standardowe wyjście) : zawartość ciągu (np. hello) Zasady parsowania łańcucha: Dosłowny ciąg jest ujęty w …

16
Napisz funkcję matematyczną, której wynikiem jest „witaj świecie” [zamknięte]
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było na temat Code Code Stack Exchange. Zamknięte 4 lata temu . Napisz funkcję matematyczną, która spowoduje całkowitą reprezentację „hello world” Na przykład „witaj świecie” w kodzie szesnastkowym jest 68656c6c6f20776f726c64więc celem …

9
Napisz liczbę jako sumę Fibonacciego
Zdefiniujmy sekwencję Fibonacciego jako F(1) = 1 F(2) = 2 F(n) = F(n - 2) + F(n - 1) Mamy więc nieskończoną sekwencję 1,2,3,5,8,13,... Dobrze wiadomo, że każdą dodatnią liczbę całkowitą można zapisać jako sumę niektórych liczb Fibonacciego. Jedynym zastrzeżeniem jest to, że to podsumowanie może nie być wyjątkowe. Zawsze …

8
Prosty kalkulator bramki logicznej
Twoim zadaniem, jeśli zdecydujesz się to zaakceptować, jest zbudowanie prostego narzędzia do oceny prawdy dla następujących operatorów logicznych: ---------------------------------------------------------------------------------- Logical Name | Gate Name | Symbol | Symbol Name | Truth Table ---------------------------------------------------------------------------------- Identity | is | | (none) | 10 Negation | not | ~ | tilde | 01 …

4
Wzory kosiarki
Zaczerpnięte z Google Code Jam 2013 rundy kwalifikacyjnej Problem B : Alice i Bob mają trawnik przed domem w kształcie prostokąta o wymiarach N na metr. Każdego roku starają się przycinać trawnik w interesujący sposób. Cięcie wykonywali nożycami, co było bardzo czasochłonne; ale teraz mają nową automatyczną kosiarkę z wieloma …
9 code-golf 

5
Trójskładnikowe słowa trójskładnikowe bez słów
Ciąg nie zawiera kwadratów, jeśli nie zawiera podłańcuchów dwa razy z rzędu. Możliwe jest dowolne długie słowo bez kwadratów za pomocą 3-literowego alfabetu. Napisz program, który akceptuje dodatnią liczbę całkowitą n ze standardowego wejścia i drukuje każdą kwadratem długości słowa n, przy użyciu znaków A, Bi C. Najkrótszy kod wygrywa.

1
Napisz solver przepływu ASP / Prolog / SAT
Flow Free to wciągająca gra na Androida, w której musisz łączyć pary elementów za pomocą nienakładających się węży i ​​wypełniać całą siatkę. Opis znajduje się tutaj: https://play.google.com/store/apps/details?id=com.bigduckgames.flow&hl=en Mam rozwiązanie ASP (programowanie zestawu odpowiedzi), które jest tylko kilkoma zasadami i nie sądzę, że możliwe jest sformułowanie tego samego rozwiązania prawie tak …
9 code-golf 

30
Konwersja na język tajny
Napisz kod w dowolnym języku, który wprowadza ciąg taki jak „Dzisiaj jest wielki dzień” (zauważ, że nie ma interpunkcji) i konwertuje go na „Tajny język”. Oto zasady dotyczące „Tajnego języka”. a = c, b = d, c = e itd. (y = a i z = b) oddziel każde słowo …

14
Wyświetl ciągłe ułamki
Wyzwanie polega na przekształceniu ułamka w ciągłą formę ułamkową. Dane wejściowe : ułamek może być wprowadzany w dowolnym formacie, w tym (ale nie tylko) ciąg: „7/16” lista: {7, 16}, (7, 16), [7, 16] prosta uporządkowana para: 7 16 funkcja: f [7,16] Dane wyjściowe : ułamek ciągły, w 2D, z poziomymi …

3
Zbuduj Killer Sudoku Solver
Myślałeś, że zwykłe sudoku jest trudne, teraz wypróbuj Killer Sudoku ! W grze Killer Sudoku nie otrzymujesz żadnych liczb. Zamiast tego otrzymujesz regiony, o których mówi się, że sumują się do określonej liczby. Rozważ następujący przykład z Wikipedii: I jego rozwiązanie: Program, który napiszesz, przyjmie format składający się z sekwencji …

21
Generuj uporządkowane kombinacje z powtórzeniami
Biorąc pod uwagę ciąg różnych znaków i liczbę n, wygeneruj wszystkie uporządkowane kombinacje z powtórzeniami, o długości od 1 do n, używając tych znaków. Innym sposobem zdefiniowania tego jest widzenie podanych znaków jako „niestandardowe” cyfry w podstawie (podstawa) liczby znaków, wówczas program powinien wygenerować wszystkie „cyfry” z 1 do n …

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.