Programowanie puzzli i Code Golf

21
ASCII Hangman in Progress

(zainspirowany pytaniem dotyczącym recenzji kodu) Załóżmy, że dwie osoby grają w Wisielca , ale podsłuchałeś tylko grę i chcesz narysować obecny status. Biorąc pod uwagę dwa słowa jako dane wejściowe, przy czym słowa pasują do siebie ( [A-Z]+lub [a-z]+twój wybór), wyświetlają bieżący stan gry...

21
Czy koła się pokrywają?

Biorąc pod uwagę współrzędne centrów i promienie 2 okręgów, wyprowadzaj prawdziwą wartość, czy się pokrywają, czy nie. Wkład Dane wejściowe mogą być pobierane przez STDIN lub równoważne argumenty funkcji, ale nie jako zmienna. Możesz je traktować jako pojedynczą zmienną (listę, łańcuch itp.) Lub...

21
Osłabione ściany binarne

Zainspirowany przez Utwórz ścianę binarną Biorąc pod uwagę listę dodatnich liczb całkowitych, możemy zapisać je wszystkie nad sobą tak, na [2, 6, 9, 4]przykład: 0010 0110 1001 0100 Możemy to sobie wyobrazić jako ścianę: ..#. .##. #..# .#.. Jest to jednak bardzo słaby mur, który się zawalił!...

21
Range, Reverse, Sum!

Biorąc pod uwagę dodatnią liczbę całkowitą n jako dane wejściowe, wypisuje sumę odwróconego zakresu n. Odwrócona suma zakresu jest tworzona przez utworzenie przedziału obejmującego do n, zaczynając od 1 i włączając n, odwrócenie każdej liczby w środku i zsumowanie jej. Przykład: Oto, co stałoby...

21
Akapit na zamek błyskawiczny

(Zainspirowany tym wyzwaniem ) Biorąc pod uwagę dwa ciągi wejściowe, z których jeden jest dokładnie jeden znak dłuższy od drugiego, ułóż ciągi w grafice ASCII tak, jakby były dwiema połówkami zamka błyskawicznego, który jest tylko w połowie zapięty. Dłuższe słowo tworzy spód zamka i jest pierwszym...

21
Trójkąt przemienny Pascala

Trójkąt Pascala jest generowany przez rozpoczęcie 1i utworzenie każdego rzędu z kolejnych dodań. Zamiast tego utworzymy trójkąt, naprzemiennie mnożąc i dodając. Zaczynamy wiosłę 1od samotności 1. Następnie dodawane są wiersze nieparzyste, a mnożenie odbywa się w wierszach parzystych (indeksowane...

21
Słowa przekraczają

Wkład: Dwa ciągi znaków (UWAGA: kolejność wprowadzania jest ważna). Wydajność: Oba słowa / zdania zaczynają się od linii z jedną pustą linią między nimi. „Chodzą” poziomo „obok siebie”. Ale kiedy mają tę samą postać w tej samej pozycji, krzyżują się, a następnie idą „obok siebie”. Mylące...

21
Maksymalna podgrupa

Zdefiniuj „maksymalną pod-tablicę” danej tablicy jako „(kolejną) pod-tablicę, która ma największą sumę”. Uwaga: nie ma wymogu „niezerowego”. Wydaj tę sumę. Podaj opis swojego kodu, jeśli to możliwe. Przykładowe wejście 1: 1 2 3 -4 -5 6 7 -8 9 10 -11 -12 -13 14 Przykładowy wynik 1: 24 Opis 1:...

21
Czy to ważna tablica Takuzu?

Takuzu to gra logiczna, w której musisz wypełnić siatkę komórkami zawierającymi 0s i 1s. Siatka musi spełniać 3 zasady: Żadne trzy kolejne poziome lub pionowe komórki nie mogą być takie same. W każdym rzędzie i kolumnie musi znajdować się taka sama liczba 0si 1. Żadne dwa wiersze nie mogą być...

21
Zróbmy Diet Haskell

Haskell ma krotki, które można zapisać jako (a,b,c) Jest to jednak tylko cukier syntaktyczny (,,)a b c Ogólnie przyjętą n krotka mogą być utworzone z n-1 , S pomiędzy (... )następnie jego elementów oddzielonych przestrzeni. Na przykład 7-krotkę (1,2,3,4,5,6,7)można utworzyć przez (,,,,,,)1 2...

21
Przejdźmy do 9!

Biorąc pod uwagę liczbę całkowitą n> 2 , wydrukuj lub zwróć najmniejszą nieujemną liczbę całkowitą k, tak aby a (n, k) = 9 , gdzie a (n, k) jest zdefiniowane przez: a (n, 0) = n a (n, k + 1) = a (n, k) / 2 + 1, jeśli a (n, k) jest parzyste suma cyfr a (n, k) ² (w podstawie 10), jeśli a (n,...

21
Zdobądź grę w Boggle

tło W Boggle rundę ocenia się , dodając punkty za każde unikalne słowo znalezione przez gracza (tj. Każde słowo znalezione przez więcej niż jednego gracza jest warte 0 punktów). Punkty są obliczane na podstawie liczby liter w każdym słowie, w następujący sposób: 3 litery: 1 punkt 4 litery: 1...

21
Czy grupa jest cykliczna?

Wprowadzenie Możesz pominąć tę część, jeśli już wiesz, co to jest grupa cykliczna. Grupa jest zdefiniowana przez zestaw i asocjacyjną operację binarną $(to znaczy (a $ b) $ c = a $ (b $ c). Istnieje dokładnie jeden element w grupie, egdzie a $ e = a = e $ adla wszystkich aw grupie ( tożsamość )....

21
Jeszcze jeden program i nie ma mnie!

Biorąc pod uwagę dodatni poziom zagnieżdżenia liczb całkowitych ni ciąg znaków sdrukowalnych ascii ( do ~, wypisuje program, który po uruchomieniu w tym samym języku, wypisuje program, który wypisuje program ... który wypisuje ciąg s. nNależy wygenerować w sumie programy, z których wszystkie...

21
Usuń niejednoznaczne liczby mnogie!

Programowanie jest bardzo sztywne. Nie możesz powiedzieć programowi, aby „wyprowadzał liczbę bananów”, musisz to powiedzieć print(bananas). Ale kiedy to robisz, pojawia się problem: nie wiesz, ile masz wcześniej bananów, więc nie wiesz, czy użyć liczby mnogiej. Czasami programiści idą leniwie....

21
Rozszerzająca się tablica

Biorąc pod uwagę dwie dodatnie liczby całkowite p i q , Twoim zadaniem jest zwrócić tablicę A utworzoną przez zastosowanie następującego algorytmu: Początek z A = [s, q], i D = 2 Dla każdej pary (x, y) ciągłych liczb w A, których suma jest podzielna przez d , wstaw (x + y) / d między x i y...

21
Gdzie rycerz może być w N ruchach?

To jest Hole-3 z jesiennego turnieju APL CodeGolf . Jestem oryginalnym autorem problemu i dlatego mogę go ponownie opublikować tutaj. Dany: liczba zwojów (proszę podać, jeśli żaden ruch nie wynosi 0, w przeciwnym razie założymy, że nazywa się to 1) i lista jednej lub więcej pozycji...